0

私のログイン スクリプトは次のようなもので、通常はログイン フォームの上に含まれています。

<?php
if(isset($_POST['login']))
{
    require_once("dbconfig.php");
    $email=$_POST["username"];
    $password=$_POST["password"];
    $password=md5("$pass");
    $msg="";
    if ($email==""){
        $msg=$msg."You didn't enter your Username.<br/>";
        $fstatus= "NOTOK";}
        if ($pass==""){
            $msg=$msg."You didn't enter your Password.";
            $fstatus= "NOTOK";}
            if($fstatus=="NOTOK"){ 
                echo "<div class=error>$msg</div>";
            }
            else{
                $logincheck=mysql_query("SELECT id FROM users WHERE username='$email' AND password='$password' limit 1");
                if(mysql_num_rows($logincheck)==0)
                {
                    echo "<div class=error>Invalid login: wrong username or password.</div>";
                }
                else
                {
                    $_SESSION['XYZ']= TRUE;
                    header("Location:member-page.php");
                }
            }
        }
    }
}
?>

リダイレクトを機能させるには、通常htaccess、命令 PHP_FLAG output_buffering を含むファイルを使用します。ただし、これは一部のサーバーでは機能しません。htaccess ファイルを削除できることは理解しています。ログイン スクリプトを書き直してリダイレクトを機能させるにはどうすればよいでしょうか。

4

1 に答える 1

1

あなたはただ置くことができます...

<?php
    ob_start();

をファイルの一番最初に記述します (PHP コードの前には他に何もないことを確認してください)。これにより、.htaccess ファイルを必要とせずに出力バッファリングがオンになります。

于 2013-01-23T07:46:10.220 に答える