我在这个代码的第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
答案 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;
}