0

この権利は、ログインページにアクセスせずにを使用してアクセスしようとすると、コードによってログインページにリダイレクトされます。

<?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の取得中にWebサイトでエラーが発生しました。メンテナンスのためにダウンしているか、正しく構成されていない可能性があります。」

4

5 に答える 5

2

headerHTMLを出力した後は、電話をかけることはできません。パスワードチェックとリダイレクトを行います。HTMLの上

例えば:

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

したがって、HTMLは、成功した場合にのみ表示されます。

于 2012-09-08T01:10:07.280 に答える
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/");
    }
?>
于 2012-09-08T01:10:31.413 に答える
1

ob_start();を置きます。上部とob_end_flush(); そしてそれはそれを修正するかもしれません。

于 2012-09-08T01:05:39.880 に答える
1

でリダイレクトする前にhtmlを出力することはできませんheader。前にすべてのロジックをコーディングします。

<?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>
于 2012-09-08T01:11:53.753 に答える
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>

ユーザーがログインしているかどうかを確認する必要があります。ログインしていない場合は、リダイレクトして終了します。その場合は、メッセージを表示します。

于 2012-09-08T01:12:23.910 に答える