我有一個登錄功能,我想返回一個變量的值,如果假$變量值:PHP函數返回虛假和不工作
function login($email, $password, $mysqli) {
[...]
// check if username exists
if ($stmt->num_rows == 1) {
// check
if ($db_password == $password) {
//check
} else {
// Invalid password
$error = '2';
return false;
} else {
// No user exists.
$error = '1';
return false;
這是的process_login
// the login function is included in this page
if (login($email, $password, $mysqli) == true) {
// Login success
header('Location: /index.php');
} else {
// Login failed
header("Location: /login.php?error=$error");
}
我想要函數返回錯誤變量的值,但它不起作用。
怎麼回事?
謝謝!
我缺少的東西,它會只能傳遞?如果你想返回錯誤變量的值,使用'return $ error;'。 – Barmar 2014-10-03 22:50:18
最佳實踐:不要告訴用戶它的用戶名或密碼是否有誤。如果你發出太多的信息,攻擊者可以集中攻擊。如果登錄失敗,只需從函數中返回'false'即可。 – 2014-10-03 22:51:39
你說得對,謝謝你的提示! – 2014-10-03 22:54:18