簡體   English   中英

使用AJAX成功登錄后重定向到主頁

[英]Redirect to home page after successful login using AJAX

我有一個登錄頁面,該頁面運行正常,但在設置SESSION后不會重定向。 如果需要,我希望我的Ajax顯示錯誤,如果設置了SESSION,則希望重定向。

這是我的代碼:

AJAX:

<script>
        function loginUser(){
                         $.ajax({
                            type:"post",
                            url:"process.php",
                            data:$("#formsubmit").serialize(),
                            success:function(data){
                                if($session == true){
                                    window.location.href="http://www.example.com";    
                                }
                                $("#result").html(data);
                             }
                          });
                    }
    </script>

PHP:
if (sha1($passcheck) === $record['password']){
            $_SESSION['user']= $_POST['username'];
            mysqli_query($db_con, $updateIP);
            if($record['admin'] == 1){
                $_SESSION['admin1'] = $_POST['username'];
            }
        }else{
           echo "<font color='red'>Username or password was invalid.</font>";
      }
if(isset($_SESSION['user'])){
    $session = true;
    echo $session;
}else{
    $session = false;
    echo $session;
}
?>

我沒有包括整個PHP腳本或整個HTML頁面,因為其余部分沒有用。

看來問題在於您正嘗試在JavaScript中使用php變量的名稱來訪問php響應。

 success:function(data){
     if($session == true){
         window.location.href="http://www.example.com";    
     }
     $("#result").html(data);
 }

變量$session未在success函數的范圍內定義,因此if($session == true)將始終返回false,因為$session將是undefined

您的PHP代碼回聲將使用data參數傳遞到success函數中。 因為你的PHP代碼只是呼應0或者1,你將要更新的ifif(data == 1)或者甚至可能只是if (data) ,因為如果數據變量只是0應該返回false ,如果為1,則應返回true。

在PHP中,將變量設置為true ,然后回顯它,則得到1如果將其設置為false ,則得到0

您需要將$session設置$session字符串,而不是布爾值。

if(isset($_SESSION['user'])){
    $session = 'true';
    echo $session;
}else{
    $session = 'false';
    echo $session;
}

還要改變

if($session == 'true'){
    window.location.href="http://www.example.com";    
}

暫無
暫無

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

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