2014-10-06 155 views
-1

我想知道這個PHP編碼的錯誤,只是想知道在這個編碼中的錯誤在哪裏我跳過頁面輸入設計的HTML部分,因爲我只想知道PHP部分, ,我試圖使用該用戶輸入用戶名和密碼登錄到網站和該特定網站應該是密碼保護密碼php mysql用戶名密碼驗證

<?php> 
if isset($_POST=['submit'])); 
{ 
$inputuser = $_POST['user']; 
$inputpass = $_POST['pass']; 

$user = "root"; 
$password = ""; 
$database = "Tutorial"; 

$connect = mysql_connect("localhost",$user,$password); 
@mysql_select_db($database) or ("database not found"); 

$query = " SELECT * FROM 'users' WHERE 'user' =        i $inputuser";//for query specific data 
$querypass = "SELECT * FROM 'users' WHERE 'user' =   $  i $inputpass'"; 

$result = mysql_query($query); 
$resultpass = mysql_query($querypass); 

$row = mysql_fetch_array($result); 
$rowpass = mysql_fetch_array($resultpass); 

$serveruser = $row["user"]; 
$serverpass = $row["password"]; 

if($serveruser&&$serverpass){ 
if (!$result) { 
die("username and password is invalid"); 
} 

echo "<br> <center>database output</b></center><br><br>"; 
mysql_close(); 
echo $inputpass; 
echo $serverpass; 
if ($inputpass == $serverpass) { 
header('location: Home.php'); 
} else { 
header('location: fail.php'); 
} 
} 
+1

什麼是你所得到的錯誤?你能對這個問題更具體一點嗎? – addicted20015 2014-10-06 10:00:39

+3

請停止使用'mysql_ *'函數,因爲這些函數已被棄用 – Azrael 2014-10-06 10:04:55

+1

您應該在E_ALL上設置錯誤報告並刪除與數據庫連接的錯誤抑制。你想要打印錯誤,我們希望看到你的錯誤:) – 2014-10-06 10:06:51

回答

0

試試這個方法:

$query="SELECT * FROM users WHERE user='" . mysql_real_escape_string($inputuser) . "' AND psw='" . mysql_real_escape_string($inputpsw) . "'"; 
$qr=mysql_query($query) or die (mysql_error()); 
if(mysql_num_rows($qr)>0) //admitting that usernames and psw are unique 
{ 
    //success 
    header('location:home.php'); 
} 
else //no rows=no username responding to $inputusername 
{ 
    header('location:fail.php'); 
} 
+0

感謝您的信息 – 2014-10-08 08:00:01