任何人都可以知道爲什麼這不工作?我得到「不匹配!」每當我嘗試登錄?數據庫中的密碼是md5散列,但是這應該將我記錄下來..先謝謝你。編輯:我也得到頭已經發送錯誤,這是第16行,session_start();未登錄..?
<?php
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
if ($username && password)
{
include("scripts/connect.php");
mysql_select_db("table") or die("Could not connect");
$epass = md5($password);
$query = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$epass'");
$nunmrows = mysql_num_rows($query);
if ($numrows !== 0){
while($row = mysql_fetch_assoc($query)){
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
//check match
if ($username == $dbusername && $password==$dbpassword){
echo "You're in!";
}
else
echo "Does not match!";
}
else
echo "Not found";
}
else
die("Please enter in a username and password?");
?>
您是否嘗試使用上面的腳本來回顯存儲在數據庫中的MD5散列和您生成的md5散列以進行比較? – diagonalbatman 2011-02-15 12:31:09
用'$ username = mysql_real_escape_string($ username)'修復你的SQL注入漏洞;` – 2011-02-15 12:33:43
檢查你是否打開了魔術引號,並且你的密碼中有一個特殊字符(例如')被自動轉義。 – 2011-02-15 12:34:01