对于我的PHP,我试图检查页面加载,如果用户点击提交(到达那里)或刚刚加载页面,但如果他们刚刚加载,我得到一个错误


With my PHP, I'm trying to check on page load if the user hit submit (to get there) or just loaded the page, but if they just loaded I get an error

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

是……好吧?我没有对它做任何事情,我只是在检查它是否在那里。还是有更好的方法?

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

您将需要使用isset:

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

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

if ( $_SERVER['REQUEST_METHOD') == 'POST' )

我认为你需要先检查你的表单方法,确保你的代码像这样处理$_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