检查是否已选择其中一个单选按钮

时间:2013-05-11 11:13:44

标签: php

我想检查是否已选择其中一个单选按钮,如果是,则我想打印其值。

<form ....>
     Gender:<br />
 <input type="radio" name="sex" value="male">Male<br />
 <input type="radio" name="sex" value="female">Female<br />
</form>

我正在尝试这个,但是当没有选择任何单选按钮时它会出错。

$selected_radio = $_POST['sex'];
if ($selected_radio == 'male') {
    print "Gender is male <br />";
}
else if ($selected_radio == 'female') {
    print "Gender is female <br />";
}
else {
    print "No gender selected. <br />";
}

5 个答案:

答案 0 :(得分:1)

您的比较操作中出现 sintax 错误,等同于==而不是= =请更改

if ($selected_radio = = 'male') {

if ($selected_radio == 'male') {

你应该为

做同样的事情
else if ($selected_radio == 'female') {

可用的比较运算符文档here

表单中也有错误,您的输入应为name="gender"以匹配您的代码$_POST['gender']

答案 1 :(得分:1)

你写了= =而不是==这就是问题

   $selected_radio = $_POST['gender'];
if ($selected_radio == 'male') {
    print "Gender is male"."<br/>";
}
else if ($selected_radio == 'female') {
    print "Gender is female"."<br/>";
}
else {
    print "No gender selected."<br/>";
}

答案 2 :(得分:1)

您的单选按钮“value属性中已包含性别信息。无需再次在字符串中写入它们。 您的比较运算符不能用空格分隔。

<?php
    if (isset($_POST['sex']))  
        echo "Gender is " . $_POST['sex'];
    else 
        echo "No gender selected.";
?>

或者还有另一个单行解决方案:

<?php echo isset($_POST['sex']) ? "Gender is " . $_POST['sex'] : "No gender selected."; ?>

答案 3 :(得分:1)

也是“= =”错误

您的输入名称是“性别”

<input type="radio" name="sex" value="male">

你要求“性别”:

$_POST['gender']

答案 4 :(得分:0)

如果未设置,则不会选中它。

if (isset($_POST['gender'])) {
    $selected_radio = $_POST['gender'];
    if ($selected_radio == 'male') {
        print "Gender is male"."<br/>";
    } else if ($selected_radio == 'female') {
        print "Gender is female"."<br/>";
    } else {
        print "form invalid submition. CSRF maybe";
    }
} else {
    print "no gender selected";
}