我正在從數據庫中檢索數據以驗證用戶憑據。 如果密碼不匹配,我希望將用戶重定向到登錄頁面。 但是,這絕不會發生。相反,我被重定向到chat_main.php。標題(位置:URL)不起作用
它適用於所有其他情況(無效的電子郵件,有效的電子郵件和密碼組合)。
這裏是我的代碼:
<?php
session_start();
require_once("config/db_connect.php");
$usr=$_POST['email'];
$pwd=$_POST['password'];
$q="SELECT * FROM userdata WHERE email=\"$usr\"";
$info=mysql_query($q, $conn);
if(mysql_num_rows($info)!=1){
header("Location: login.php?err=1");
}
else{
while($data=mysql_fetch_array($info)){
if($pwd!=$data['pwd']){
header("Location: login.php?err=1");
}
$usr=$_SESSION['username']=$data['fname'];
header("Location: chat_main.php?username=$usr");
}
}
?>
爲什麼表現如此,而且這可怎麼解決?
發送'Location:'標題後終止腳本。 – DCoder
[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – Neal