Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP单选按钮-未定义索引_Php - Fatal编程技术网

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>