if(isset($_POST['login'])) {
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
if(empty($username) || empty($password)) {
$error = 1;
$error_message = 'Please fill in all the required fields.';
} else {
get_login_name($username, $password);
//The commented line works...
//$query = mysql_query("SELECT /* user_logged true, page login */username, password FROM members WHERE username = '".$username."' AND password = '".sha1($password)."' LIMIT 1");
}
if(mysql_num_rows(get_login_name($username, $password)) == 0) {
echo get_login_name($username, $password);
$error = 1;
$error_message = 'Incorrect username or password.';
} elseif ($error == 0) {
//Other stuff....
}
}
功能:PHP用戶登錄ANF功能
function get_login_name($password, $username) {
global $myDB;
global $config;
$query = "SELECT /* page == login, functions.php */username, password FROM members WHERE username = '".$username."' AND password = '".sha1($password)."' LIMIT 1";
$result = $myDB->Execute($query) or die(GetDbError($myDB->ErrorMsg()));
return $result;
}
如何正確檢查,如果用戶名或密碼不正確的? (部分,如果(mysql_num_rows(G .....) 在我看來事情錯了,我已經做了紅外功能get_login_name,返回和檢查順便提一下,利用ADODB
編輯:。 畢竟我決定有點測試它,所以,讓我們現在就離開的功能,因爲它讓我們檢查用戶名和密碼的一部分:
if (!is_null(get_login_name($password, $username))) {
echo get_login_name($password, $username);
$error = 1;
$error_message = 'Incorrect username or password.';
}
如果用戶名或密碼不正確IR給我: 用戶名,密碼這意味着結果並沒有發現在所有(沒有用戶,如果用戶正確給出相同的結果)
好吧,讓我們輸入有效的用戶和傳球,並gaves: 用戶名,密碼爲零,0a706ce75f3bc195c8ed7be5a21d3766abb0d384
有什麼不對?
請填寫您的密碼。 :-) – 2011-05-13 19:09:01
我認爲你需要檢查>而不是==。 – makyol 2011-05-13 19:19:26