我正在使用if ($_POST["submit"])
进行检查,但当然如果没有,则会尝试访问不存在的变量。但是,我正在使用此检查来查看它是否确实存在,但PHP为我输出错误。
那是......好吗?我没有做任何事情,我只是在检查它是否在那里。或者有更好的方法吗?
我的收音机按钮也一样。如果他们点击提交,我会检查他们的值,但如果他们点击提交而没有按任何我收到错误。
答案 0 :(得分:1)
您需要使用isset
:
if ( isset($_POST["submit"]) )
更好的方法是只检查REQUEST_METHOD,看看它是否是POST请求:
if ( $_SERVER['REQUEST_METHOD') == 'POST' )
答案 1 :(得分: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