PHP If语句不工作

PHP If语句不工作,php,if-statement,Php,If Statement,我曾尝试将此用作if语句,但它不起作用。上面写着错误的传球和错误的东西。怎么了 $status = $_POST['status']; $server = $_POST['server']; $room = $_POST['room']; $password = $_POST['password']; $submit = $_POST['submit']; if ($submit) { if ($server && $status && $room &

我曾尝试将此用作if语句,但它不起作用。上面写着错误的传球和错误的东西。怎么了

$status = $_POST['status'];
$server = $_POST['server'];
$room = $_POST['room'];
$password = $_POST['password'];
$submit = $_POST['submit'];
if ($submit) {
  if ($server && $status && $room && $password) {
    if ($password == "o") {
      echo "Done";
    } else {
      echo "all fields";
    }
  } else {
  }
  echo "incorrect pass";
} else {
  echo "submit";
}

很难看出你想做什么

} else {

}
echo "incorrect pass";
那应该在一个人的支架里面。这应该强调正确的代码格式和缩进的重要性

我认为它也应该与另一个else块切换,如下所示:

if ($server && $status && $room && $password) {
    if ($password == "o") {
        echo "Done";
    } else {
        echo "incorrect pass";
    }
} else {
    echo "all fields";
}

另一件事,我总是使用
isset()
检查
$\u POST
值实际上是否已设置。

这不是有效的代码,您的
}
{

假设代码中存在一些导致大括号不匹配的条件,那么

echo "incorrect pass";

在if($submit){
条件的右括号之后发生,,因此无论
$submit`的值是多少,它都将运行*。

POST['submit'的值是多少?如果这些字段中的任何一个是数字,并且接受
0
作为值,那么您的逻辑将是错误的。这将被转换为布尔值false,并使“验证”失败。lol?您是否进行了更改?不可能说“完成”和“不正确通过”。