我正在尝试PHP编程,并在语法上遇到了一些麻烦。我似乎不太了解PHP,无法解决这个语法错误,尽管对于训练有素的眼睛来说应该很明显。我希望我能在这里找到错误的解决方案。
我有一个用HTML/PHP编写的登录页面,称为login.php:
<?php
session_start();
?>
<html>
<body>
<?php
if (isset($_SESSION["user"])) {
echo "<p>Welcome back, " . $_SESSION["user"] . "!<br>";
echo '<a href="process.php?action=logout">Logout</a></p>';
}
else {
?>
<form action="process.php?action=login" method="post">
<p>The username is: admin</p>
<input type="text" name="user" size="20">
<p>The password is: test</p>
<input type="password" name="pass" size="20">
<input type="submit" value="Login">
</form>
<?php
}
?>
</body>
</html>
路由到进程.php,其中错误发生在第 8 行的 ;
<?php
session_start();
switch($_GET["action"]) {
case "login":
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$user = (isset($_POST["user"]) &&
ctype_alnum($_POST["user"]) ? $_POST["user"] : null;
$pass = (isset($_POST["pass"])) ? $_POST["pass"] : null;
$salt = '$2a$07$my.s3cr3t.SalTY.str1nG$';
if (isset($user, $pass) && (crypt($user . $pass, $salt) ==
crypt("admintest", $salt))) {
$_SESSION["user"] = $_POST["user"];
}
}
break;
case "logout":
$_SESSION = array();
session_destroy();
break;
}
header("Location: login.php");
?>
我从网络服务器收到的错误消息如下,每当我按下"登录"按钮时都会发生。
Parse error: syntax error, unexpected ';' in /Applications/XAMPP/xamppfiles/htdocs/xsrf/process.php on line 8
任何有关解决此语法错误的帮助将不胜感激。
干杯!
你忘了关闭括号。
尝试更改:
$user = (isset($_POST["user"]) && ctype_alnum($_POST["user"]) ? $_POST["user"] : null;
由:
$user = (isset($_POST["user"]) && ctype_alnum($_POST["user"])) ? $_POST["user"] : null;
$user = (isset($_POST["user"]) &&
ctype_alnum($_POST["user"]) ? $_POST["user"] : null;
我猜你没有关闭第一个括号!