這裏是我一直在嘗試創建一個登錄系統與PHP和MySQL的代碼,但如果其他條件不能正常工作,我給正確的值(存儲在數據庫)上執行它的瀏覽器,它會顯示無效的電子郵件或密碼,而不是顯示成功登錄。這裏是代碼..使用php和mysql創建登錄頁面
<HTML>
<body>
<?php
$email= $_POST['email'];
$password=$_POST['password'];
echo "Email:".$email. " <br>";
echo "Password: ".$password;
mysql_connect("localhost","root","");
mysql_select_db("log");
$sql = mysql_query("SELECT * FROM `details` WHERE `Email` = '$email' AND `Password` =
'$password'") or die("I am dead");
while($row = mysql_fetch_array($sql)){
echo $row['Email']. " - ". $row['Password'];
echo "<br />";
}
if ($row['Email'] == $email && $row['Password'] == $password){
echo "Login Successfull" ;
}
else {
echo "<br> Invalid Email or Password";
}
?>
</body>
</html>
使用'mysqli',而不是'mysql'。問題在於你正在訪問循環外的'$ row'數組。 – ASR
您是否以純文本格式存儲密碼?除了使用'mysqli'你還需要逃避用戶輸入以防止注入攻擊 – Tristan
我寫了這個[answer](http://stackoverflow.com/a/33665819)起來。這在mysqli和pdo中是一個很好的藍圖。不幸的是,gent是數據庫的新手,它下面有50條評論。祝你好運 ! – Drew