语法错误,第31行的文件意外结束

时间:2016-01-06 15:11:19

标签: php mysqli

我在这个代码的第31行没有任何代码,所以您认为这里的问题是什么? :)

<?php

require('config.php');

if(isset($_POST['submit'])) {

$uname = mysqli_real_escape_string($con, $_POST['uname']);
$pass = mysqli_real_escape_string($con, $_POST['pass']);

$sql = mysqli_query($con, "SELECT * FROM users WHERE uname = '$uname' AND pass = '$pass'");
if (mysqli_num_rows($sql) > 0) {
  echo "You are now logged in.";
  exit();
}

} else {

  $form = <<<EOT
  <form action="login.php" method="POST">
  Username: <input type="text" name="uname" /></br>
  Password: <input type="password" name="pass" /></br>
  <input type="submit" name="submit" value="Log in" />
  </form>
  EOT;
  echo $form;
}



?>

我认为我的所有括号都很好:D

2 个答案:

答案 0 :(得分:1)

EOT令牌必须位于编辑器的第1列。

res

答案 1 :(得分:1)

http://php.net/manual/en/language.types.string.php

找不到$form字符串的结尾
  

结束标识符必须从该行的第一列开始。

因此,您必须将EOT;移至该行的最开头。

} else {

  $form = <<<EOT
  <form action="login.php" method="POST">
  Username: <input type="text" name="uname" /></br>
  Password: <input type="password" name="pass" /></br>
  <input type="submit" name="submit" value="Log in" />
  </form>
EOT;
  echo $form;
}