我需要幫助,我的登錄腳本 - 它似乎被打破。如果我沒有輸入密碼,我仍然可以正確登錄。另外如果我不輸入任何東西。但是,如果我輸入了錯誤的用戶名和密碼,它說我的登錄憑據是錯誤的。破損的PHP登錄腳本
<?php
$verbindung = mysql_connect("localhost", "root" , "")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("v1nce_website") or die ("Datenbank konnte nicht ausgewählt werden");
$username = $_POST["username"];
$password = $_POST["password"];
$abfrage = "SELECT username, password FROM logins WHERE username='$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->password == $password)
{
$_SESSION["username"] = $username;
echo "<p>Login erfolgreich.</p>";
}
else
{
echo "<p>Benutzername oder Passwort waren falsch. <a href=\"index.php?p=login\">Login</a></p>";
}
?>
任何幫助,將不勝感激。
[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護,[棄用過程](http://j.mp/Rj2iVR)已經開始。看到[**紅框**](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)。 –
如果沒有行,mysql_fetch_object返回FALSE。 $ _POST中的空白密碼也會評估爲false ...所以如果(false == false)... – GarethL
請注意,您的密碼不安全!請閱讀[hash](http://php.net/manual/en/faq.passwords.php) –