php编程新手,我似乎无法解决的简单语法错误



我正在尝试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;

我猜你没有关闭第一个括号!

最新更新