错误密码时重定向php

时间:2012-09-08 01:00:42

标签: php html redirect login

这是正确的,当他们尝试使用登录页面而不进入登录页面时,代码会将人重定向到登录页面

<?php

$pass = 'password';

?>
<html>
<head>
<title></title>
</head>
<body>
<?php 

if ( $_POST["pass"] == $pass){
?>

Congrats you have log in!


<?php 

}else{

header("Location: http://signin.com/");
}
?>
</body>
</html>

我最终遇到了“服务器错误 该网站在检索http://www.test.com时遇到错误。它可能已关闭以进行维护或配置不正确。“

5 个答案:

答案 0 :(得分:2)

在您输出一些HTML后,您无法调用header。你的密码检查&amp;重定向。在HTML之上

例如:

<?php 
$pass = 'password';
if ( $_POST["pass"] != $pass){
    header("Location: http://signin.com/");
    exit;
}
?>
<html>
<head>
<title></title>
</head>
....

因此HTML只会显示它们是否成功。

答案 1 :(得分:2)

您无法在输出后向用户发送header()

<?php
    $pass = 'password';
    if ( $_POST["pass"] == $pass)
    {
        ?>
        <html>
        <head>
        <title></title>
        </head>
        <body>

        Congrats you have log in!

        </body>
        </html>

        <?php 
    }
    else
    {
        header("Location: http://signin.com/");
    }
?>

答案 2 :(得分:1)

把ob_start();在顶部和ob_end_flush();这可能会解决它。

答案 3 :(得分:1)

在使用header进行重定向之前,您无法输出html。在编写所有逻辑之前:

<?php 
$pass = 'password';

if ($_POST["pass"] == $pass)
{
    $message = "Congrats you have log in!";
}
else
{
    header("Location: http://signin.com/");
}
?>  

<html>
<head>
<title></title>
</head>
<body>
    <?php echo $message; ?>
</body>

答案 4 :(得分:1)

这样的事情会更好:

<?php
$pass = 'password';

if ($_POST["pass"] != $pass){
    header("Location: http://signin.com/");
    exit;
    }
?>

<html>
<head>
<title></title>
</head>
<body>
Congrats you have log in!

</body>
</html>

您需要检查用户是否已登录。如果没有,请重定向并退出。如果是,请显示消息。