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 回答