PHPでチェックボックスの配列の値をPOSTしたい!


出勤管理プログラムのようなものをPHPで作っているんですが、どうしてもわからないので質問させてください!
<table>
<tbody>
<tr>
<td>ID</td>
<td>名前</td>
<td>2010-08-10</td>
<td>2010-08-11</td>
<td>2010-08-12</td>

</tr>
<tr>
<td>16<input type="hidden" name="gid" value="16"></td>
<td>テスト<input type="hidden" name="name" value="テスト"></td>
<td>出勤はチェック<input type="checkbox" name="data[16][2010-08-10]" value="1"></td>
<td>出勤はチェック<input type="checkbox" name="data[16][2010-08-11]" value="1"></td>
<td>出勤はチェック<input type="checkbox" name="data[16][2010-08-12]" value="1"></td>

</tr>

<tr>
<td><input type="submit" value="送信"></td>
</tr>
</tbody></table>

こんな感じのフォームがありまして、data[16][2010-08-10]
ID番号16番の人が、チェックしたものを配列でPOSTするにはどうしたらいいのでしょうか?
POSTされたデータをどうやって受け取ったらいいのかが分からないんです・・・

回答の条件
  • 1人2回まで
  • 登録:2010/08/10 16:25:28
  • 終了:2010/08/10 17:21:22

回答(1件)

id:m-nisi No.1

m-nisi回答回数159ベストアンサー獲得回数32010/08/10 16:53:32

ポイント60pt

手続きとしては二つになります。

まずは提示のHTMLの一番上に

<form action="recieve.php" method="POST">

一番下に

</form>

recieve.phpはPOSTされたデータを受け取るプログラムです。

名前は何でもいいのですが、

実際に作ったプログラムのファイル名をここで指定して下さい。

recieve.phpの中身は

<?php

$gid = $_POST["gid"];

$data = $_POST["data"][$gid];

foreach ($data as $key => $value) {

print $value."<br>";

}

?>

このようにしますと、チェックボックスにチェックの入っている日付が出力されます。

この後、どのような処理をしていくのかわからないので、

このような回答になります。

例えば、MySQLにデータを保存したりするなら、

上記プログラムの$gidや、foreachの中の$valueなどが必要になるかと思います。

<>は半角でお願いします。

id:goodbabies

すみません、このまま書いたのですが

Warning: Invalid argument supplied for foreach() in /home/maxy.jp/public_html/girl/syuxtukin_chk.php on line 25

配列のエラーになりました。

ちなみに、対象となる日付にチェックが入っているかいないかをTRUEかFALSEでenum型のフィールドに入れていこうと思っているところです。

2010/08/10 17:09:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません