所以我需要弄清楚如何让我的else语句返回到我之前的函数passprotect.html(我开始的文件)。 所以我写了我的密码,然后点击提交。 当我点击提交时,如果密码是否正确,则使用我的PHP进行检查。 如果密码正确,则会写“你做到了!”。 如果它是错的,我希望它返回到passprotect.html网站,并显示错误消息“密码错误,请再试一次!”。
这是我的两个代码:
<html>
<body>
<title>FriedBitz</title>
<form action="secret.php" method="post">
Password: <input type=password name=pass></input>
<input type=submit value=Enter>
</form>
</body>
</html>
和
<html>
<body>
HERE IS YOUR RESULT
<?php
if ( $_POST['pass'] === 'test')
{
echo "You did it!";
}
else
{
header('Location:www.example.com');
}
?>
</body>
</html>
答案 0 :(得分:0)
因为Marc B指出你不能那样使用标题。
来自php.net manual - &gt;请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。
如果您无法更改项目文件的布局(在发送标题之前删除输出),我建议您使用ajax进行此类工作。
或者您需要在页面上为用户设置可点击链接而不是标题。
使用您的代码处理标题的示例:
<?php
if ( $_POST['pass'] === 'test')
{
$output = 'You did it!';
}
else
{
header('Location:www.example.com');
exit;
} ?>
<html>
<body>
<?php echo $output; ?>
</body>
</html>