使用replit时,PHP给出了不存在的错误

btxsgosb  于 2023-02-21  发布在  PHP
关注(0)|答案(1)|浏览(172)

我试图用php写一个密码保护的页面

<?php
$pass = $_POST['pass'];

if(password_verify($user, '$argon2i$v=19$m=2048,t=4,p=3$Y3NGc25QQ1k1cTBkTHZNRg$skaHiTZAiAYB2bwme/KBhRujlJNXWd7jkji4vP5t5zM')) //hash is Admin
{
  header("Location: secure.html");
  exit();
}
else
{
    if(isset($_POST))
    {?>

            <form method="POST" action="index.php">
            Pass <input type="password" name="pass"></input><br/>
            <input type="submit" name="submit" value="Go"></input>
            </form>
    <?}
}
?>

但是,我不断得到错误:

PHP Parse error:  Unclosed '{' on line 15 in /home/cody/Desktop/code/Web/secureSignIn/index.php on line 25

在Replit上使用PHP时不会出现这个错误。有人能解释一下为什么会出现这个错误吗?
我尝试用<?php替换<?,添加<? php error_reporting(0); ?>,并使用echo运行HTML(它只将其打印到控制台,而不执行。

mf98qq94

mf98qq941#

这应该行得通:

  • 把〈?php开始标记放在单独的行中
  • 用〈?php重新开始,而不仅仅是〈?
<?php
$pass = $_POST['pass'];
if(password_verify($user, '$argon2i$v=19$m=2048,t=4,p=3$Y3NGc25QQ1k1cTBkTHZNRg$skaHiTZAiAYB2bwme/KBhRujlJNXWd7jkji4vP5t5zM')) //hash is Admin
{
    header("Location: secure.html");
    exit();
}  
else
{
    if(isset($_POST))
    {?>
        <form method="POST" action="index.php">
        Pass <input type="password" name="pass"></input><br/>
        <input type="submit" name="submit" value="Go"></input>
        </form>
    <?php
    }
}
?>

相关问题