我想检查是否已选择其中一个单选按钮,如果是,则我想打印其值。
<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 />";
}
答案 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";
}