我有一個php表單,當用戶提交的憑據不正確時,會獲取相應的錯誤消息,但是當使用正確的憑證時,登錄成功消息不會獲得相同的錯誤憑證消息。我已經嘗試使用哈希密碼和沒有運氣。這裏是我的登錄功能代碼:PHP登錄表單不會登錄具有正確憑據的用戶
function login($username, $password) {
$host = 'localhost';
$user = 'jamaixan_bobsled';
$pass = 'v67fvg7gk_&g';
$db = 'db_for_site_67';
mysql_connect($host, $user, $pass);
mysql_select_db($db);
$connected = mysql_select_db($db);
$user_id = user_id_from_username ($username);
$password = md5($password);
return(mysql_result(mysql_query("SELECT COUNT(`id_user`) FROM `table_of_users` WHERE
`email_user` = `$username` AND `password_user` = `$password`") , 0) == 1) ? $user_id : `false`;
}
把一個'if'語句中的每個'mysql'功能之後,以確保它返回你期望的值。我可以在那裏看到四處沒有檢查到返回值。此外,此代碼中存在SQL注入漏洞,因此請勿將其存活。 – halfer