PHP单选按钮-未定义索引
简单的问题是,当我没有选择任何单选按钮时,我收到了错误消息 未定义的指数:性别PHP单选按钮-未定义索引,php,Php,简单的问题是,当我没有选择任何单选按钮时,我收到了错误消息 未定义的指数:性别 <?PHP if(isset($_POST['register'])){ $gender=$_POST['gender']; echo $gender; } ?> <html> <form action="testing.php" method="POST"> <input type="radio" name="gender
<?PHP
if(isset($_POST['register'])){
$gender=$_POST['gender'];
echo $gender;
}
?>
<html>
<form action="testing.php" method="POST">
<input type="radio" name="gender" value="male" />Male
<input type="radio" name="gender" value="female" />Female
<input type="submit" name="register" value="Register" />
</form>
</html>
男性
女性
如果没有选择单选按钮,“性别”输入值不会被提交。这与不勾选复选框相同。您需要通过使用检查它是否存在并且是否具有有效值
if(!empty($_POST['gender'])) {
...
}
其他检查方法包括
isset($\u POST['gender'])
和array\u key\u exists('gender',$\u POST)
,尽管这些方法不会检查值是否为零或空字符串(可能是或可能不是您想要的)未选中的单选按钮和复选框不会通过表单发布,因此,它们不会出现在$\u POST
中。当然,如果不选择单选按钮,则会出现错误。
因为当你不选择一个值时,它不会被发布。
您可以1)使用isset()检查索引是否存在,或2)在页面加载时选中单选按钮,以便始终发送值。问题在于
$\u POST['gender']
。因为您没有选择任何内容,所以性别未定义
您可以使用
array\u key\u exists('gender',$\u POST)
检查定义的索引。您可以使用@$\u POST['gender']不引发错误
<?PHP
if(isset($_POST['register'])){
if(!empty($_POST['gender'])) {
$gender=$_POST['gender'];
echo $gender;
}
}
?>
<html>
<form action="radio.php" method="POST">
<input type="radio" name="gender" value="male" />Male
<input type="radio" name="gender" value="female" />Female
<input type="submit" name="register" value="Register" />
</form>
</html>
男性
女性
用这种方法很容易解决这个问题
if(isset($_POST['register'])){
if(isset($_POST['gender'])) {
$gender = $_POST['gender'];
}else{
$gender = "";
}
}
如果您需要使用PHP进行验证,您可以使用$SEXT=“”
男性
女性
对我有帮助的回答。
<html>
<form action="radio.php" method="POST">
<input type="radio" name="gender" value="male" />Male
<input type="radio" name="gender" value="female" />Female
<input type="submit" name="register" value="Register" />
</form>