• ベストアンサー

GET又はPOSTで受け取るデータに関して

こんばんは、phpでフォームを作成しています。 同じnameのチェックボックスが複数あり、method=getで処理しているphpに送信した場合、URLには・・・ &namechg_option=2&namechg_option=3&namechg_option=4 となりますが、 これを処理しているphpでは、カンマ区切りで利用したいと思っています。 $atai = 2,3,4 しかし、$_GET['namechg_option']で受けますと、 $atai = 4 最後の1つしか受けません。 何かいい方法はないでしょうか? 以上、宜しくお願いします。

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

  • ベストアンサー
  • Ikonos00
  • ベストアンサー率28% (86/302)
回答No.1

namechg_optionをnamechg_option[]にする方法は どうでしょうか。 参考までに <html> <body> <?php var_dump($_GET); echo "<br>"; foreach($_GET["test"] as $val) echo $val.","; ?> <form method="GET"> <input type="checkbox" name="test[]" value="1"> <input type="checkbox" name="test[]" value="2"> <input type="submit" value="sub"> </form> </body> </html>

その他の回答 (1)

回答No.2

$a=1; $a=2; $a=3; $a はいくつですか? 1,2,3ではなく、3ですよね。 3つ値を入れる場合には以下の方法があります。 配列を使って $a[1] = 1; $a[2] = 2; $a[3] = 3; とやるか、変数名を変えて $a1 = 1; $a2 = 2; $a3 = 3; とやるしかないです。 すなわち、 &namechg_option[]=2&namechg_option[]=3&namechg_option[]=4 とやるか、 &namechg_option1=2&namechg_option2=3&namechg_option3=4 とすれば良いデス。 カンマ区切りであればNo1の方法では $atai = implode(",",$_GET['namechg_option']); で取得可能です。

関連するQ&A