簡體   English   中英

為什么我的登錄頁面在我點擊登錄按鈕后會轉到 /login.php?login=error ?

[英]Why my login page is going to /login.php?login=error after i hit the login button?

點擊登錄按鈕后,我的登錄頁面將進入錯誤頁面,我的用戶名和密碼等所有信息都是正確的。

} else {
        $sql = "SELECT * FROM users WHERE user_uid='uid'";
        $result = mysqli_query($conn, $sql);
        $resultCheck = msqli_num_rows($result);
        if($resultCheck < 1){
            header("Location: ../login.php?login=error");
            exit();
            } else {
                if($row = mysqli_fetch_assoc($result)){
                    //Dehash pass
                    $hashedPwdCheck = password_verify($pwd, 
                    $row['user_pwd']);
                    if($hashedPwdCheck == false){
                        header("Location: ../login.php?login=error");
                        exit();
                    } elseif ($hashedPwdCheck == true){
                        //Log in
                        $_SESSION[u_id] = $row['user_id'];
                        $_SESSION[u_first] = $row['user_first'];
                        $_SESSION[u_last] = $row['user_last'];
                        $_SESSION[u_email] = $row['user_email'];
                        $_SESSION[u_uid] = $row['user_uid'];
                        header("Location: ../home.php?login=success");
                        exit();
                    }
                }
            }
        }
} else {
    header("Location: ../login.php?login=error");
    exit();
}

我認為問題可能是雙重else 從您的評論中提取我猜您的代碼如下所示:

if (empty($uid)|| empty($pwd) {
    \\ redirect
} else {
    \\ login logic
} else {
    \\ redirect
}

所以你所擁有的要么是重定向,要么是重定向。 你可能想要做的是失去最后一個 else 所以你的代碼只是:

if (empty($uid)|| empty($pwd) {
    \\ redirect
} else {
    \\ login logic
}

正如其他人指出的那樣,您的代碼中還有很多其他錯誤,但這至少可以讓您擺脫重定向問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM