PHP If-Statements不起作用

时间:2012-09-24 01:32:41

标签: 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 && $password) {
    if ($password == "o") {
      echo "Done";
    } else {
      echo "all fields";
    }
  } else {
  }
  echo "incorrect pass";
} else {
  echo "submit";
}

2 个答案:

答案 0 :(得分:3)

看到你想要做的事情有点困难。

} else {

}
echo "incorrect pass";

那应该里面一个大括号。这应该强调正确的代码格式化和缩进的重要性。

我认为它也应该与其他块一起切换,如下:

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

另一方面,我总是使用isset()来检查$_POST值是否实际设置。

答案 1 :(得分:1)

这可能不是有效代码,} s比{更多。

假设有关于该代码的一些条件导致大括号不匹配,那么

echo "incorrect pass";

condition, and therefor will run *regardless* of the value of $ submit`的结束括号后发生