1

ユーザーがボタンを押すと、ページに別の「ラジオ要素」が作成されるボタンがあります。問題は、フォームが送信された後、PHP で値を取得するのに苦労していることです。

ここに私のHTMLコードがあります:

<input type="radio" checked="checked" id="rad-3" title="member-section" name="use_name[0]" value="Test!" />

ここに私のPHPコードがあります:

if ($_POST['use_name[0]'] == 'Test!') {
    echo 'It Worked!' ;
} else {
    echo 'Nope!' ;
}

フォームが送信されるたびに、いいえ! 常に反響します。どんな助けでも大歓迎です!

4

2 に答える 2

0

PHP は、HTML で指定し$_POST['use_name']たキーを使用して配列として受け取ります。[0]だからあなたはテストしたい:

if ($_POST['use_name'][0] == 'Test') {
 // ....
}

でデバッグしprint_r($_POST)て、配列の構造を確認します。

HTML で特定の配列キーを送信する必要がない場合は、入力に次のように名前を付けるだけでname='use_name[]'、PHP はそれらを数値インデックス付き配列として受け取ることに注意してください。必要に応じて、文字列キーを使用してより具体的にすることもできますname='use_name[first_value]'。PHP は次のように文字列キーを受け取ります。$_POST['use_name']['first_value']

ただし、これはラジオ ボタンの一般的な使用方法ではないことに注意してください。通常は 1 つだけが選択されるため、複数のラジオ ボタン (HTML は表示されません) をすべて名前でリストしない限りname='use_name[0]、ボタンはラジオ グループとしてバインドされません。それらはすべて同じ名前である必要があり、異なる配列キーはそれらを異なるラジオ グループに変換します。これは、チェックボックスでより一般的に使用されます。

于 2012-12-04T02:22:32.607 に答える
0

POST 変数は php の配列であるため、次のようにアクセスできます。

$_POST['use_name'][0]
于 2012-12-04T02:22:40.980 に答える