こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHP name 動的 value 取得

失礼します現在動的に生成されたテーブルにチェックボックスに✔した際に
valueをPHPで受け取りたいです
例ですが
現在
$set_array[0]に
array(4) {
[0]=>
string "hoge"
[1]=>
string "piyo"
[2]=>
string "hogehoge"
[3]=>
string "test"
}
という配列が[1],[2]と他にあるとして、
iをfor文で回して
<td><input name="hobby[]" type="checkbox" value="<?php $set_array[i]?>"></td>
とインプットタグを作り
上記ような形で受け取れると思ったのですがうまくいきません汗
ご教授いただければ幸いです。
宜しくお願い致します。

投稿日時 - 2017-01-25 15:50:50

QNo.9285696

すぐに回答ほしいです

質問者が選んだベストアンサー

すいません「 if(isset($_POST['hobby']){ 」の部分で括弧が1個足りませんでした。
if(isset($_POST['hobby'])) {
が正解だと思います。

投稿日時 - 2017-01-25 17:14:43

お礼

ありがとうございます。
無事取得できました。

投稿日時 - 2017-01-25 18:24:12

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

チェックボックスはチェックが入っていないモノのデータは送信されてこないので、チェックされた分だけ $_POST['hobby'] もしくは $_GET['hobby'] に配列で入ってくる事になります。
一つもチェックが入ってなければ送信されてきません。

なので
if (isset($_POST['hobby']) {
foreach ($_POST['hobby'] as $value) {
・・・・
}
}
という感じで取り出すしかありません。

投稿日時 - 2017-01-25 16:17:28

補足

ご返信ありがとうございます。
記載していただいたコードを使用したのですが、
何故がsyntax errorが出てしまいます汗
<td><input name="hobby[]" type="checkbox" value="<?php $set_array[0]?>"></td>

<input type="submit" value="実行">
して
if(isset($_POST['hobby']){
foreach($_POST['hobby'] as $value) {
var_dump($value);
}
}
しているのですが、、、

投稿日時 - 2017-01-25 16:33:12

あなたにオススメの質問