重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんばんは、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つしか受けません。

何かいい方法はないでしょうか?


以上、宜しくお願いします。

A 回答 (2件)

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>
    • good
    • 0

$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']);

で取得可能です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!