-2

我正在检查它,if ($_POST["submit"])但当然如果他们没有,它正在尝试访问一个不存在的变量。但是,我首先使用此检查来查看它是否确实存在,但 PHP 为我输出了错误。

可以吗?我没有对它做任何事情,我只是在检查它是否在那里。或者有更好的方法吗?

我的单选按钮也是如此。如果他们点击提交,我会检查他们的值,但如果他们点击提交而不按任何我会得到一个错误。

4

2 回答 2

1

你会想要使用isset它:

if ( isset($_POST["submit"]) )

更好的方法是只检查REQUEST_METHOD,看看它是否是一个 POST 请求:

if ( $_SERVER['REQUEST_METHOD') == 'POST' )
于 2013-01-20T20:05:10.773 回答
0

我认为你需要先检查你的表单方法,在处理时确保你的代码是这样的$_POST

<form method="post">
    ...
    <input type="radio" name="gender" value="1">
    <input type="radio" name="gender" value="2">
    ...
    <input type="submit" name="submit">
</form>

然后您可以通过以下方式轻松检查您的$_POST参数;

if (isset($_POST['submit'])) {
    echo "Form submitted!";
    // this makes gender and integer value or 0 silently
    @ $gender = (int) $_POST['gender'];
    if ($gender === 1) echo "Gender = 1";
    else if ($gender === 2) echo "Gender = 2";
    else echo "Gender = NULL";
    // and so on
于 2013-01-20T20:18:22.353 回答