2015-10-14 87 views
2

我想將未記錄的用戶重定向到Login.html,如果他們沒有登錄並嘗試瀏覽我的首頁。我正在使用cookies並使用以下代碼:重定向用戶,如果未使用jquery在html中登錄

$(document).ready(function() { 

     if(Cookies.get('user') == undefined) { 
     window.location.replace("http://localhost/login.html"); 
     //window.location.href = "http://localhost/login.html"; 
     //$(location).attr('href', 'http://localhost/login.html'); 
     } 
    }); 

問題是,瀏覽器顯示了半秒的首頁並在之後重定向。

是否可能根本不顯示首頁?或者它是唯一可能的PHP會話

if(!isset($_SESSION["username"])) 
{ 
header("location:login.html"); 
exit; 
} 
+0

這是更好地做PHP記錄到一些時間通過停止頁面加載保存用戶。如果在瀏覽器中完成,用戶可以覆蓋它。 – Barmar

回答

1

不要把代碼放在$(document).ready(),因爲它不會運行,直到頁面加載。將它放在<head>的腳本塊中,它將在頁面呈現之前運行。

+0

這工作!但是你仍然建議使用PHP嗎? – moody

+0

如果您需要保證未登錄的用戶被重定向,我可以。如果這只是一個方便的功能,JS是可以的。 – Barmar

0

你可以把這個在如果不是在

<script> 
if (/*you are not logged in. */) { 
    try { 
     //stop most browsers loading 
     window.stop(); 
    } 
    catch (e) { 
     //IE stop loading content 
     document.execCommand('Stop'); 
    } 
    document.location.replace(/*user login page */); 
} 
</script> 
相關問題