人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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されたデータをどうやって受け取ったらいいのかが分からないんです・・・

●質問者: goodbabies
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:2010-08-10 2010-08-11 PHP チェックボックス テスト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● m-nisi
●60ポイント

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

まずは提示の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などが必要になるかと思います。

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

◎質問者からの返答

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ