无法获得Radio元素的值

时间:2012-12-04 02:21:00

标签: php javascript html forms radio-button

我在页面上有一个按钮,当用户按下它时,它会在页面上创建另一个“无线电元素”。但问题是,在提交表单后,我很难用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!' ;
}

每当提交表单时,不要!总是呼应。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分: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']

但请注意, 这是使用单选按钮的典型方法。由于通常只选择一个,除非您列出多个名称为name='use_name[0]的单选按钮(我们没有看到您的HTML),否则这些按钮不会被绑定为无线电组。它们必须具有相同的名称,不同的数组键将它们转换为不同的无线电组。这更常用于复选框。

答案 1 :(得分:0)

您的POST变量是php中的一个数组,因此您可以像以下一样访问它:

$_POST['use_name'][0]