2013-11-09 57 views
-1

a.php 這裏我保存我的狀態作爲登錄時登錄我去b.php所以當我嘗試返回到a.php它會檢查我的狀態直接,如果我的狀態在不允許他回去後,他登錄時按瀏覽器後退按鈕

<?php 
session_start(); 
$_SESSION['login_state']; 
?> 
<?php 
if($_SESSION['login_state'] == "loged in") 
header("location:b.php"); 
?> 
<html> 
<body> 
<form name="form1" method="post" action="b.php"> 
username :<input type="text"/> 
</br> 
submit :<input type="submit"/> 
</form> 

</body> 

</html> 

b.php 記錄在這裏我有一個功能的鏈接時,我按下鏈接登出我調用該函數改變我的我再次b.php狀態以消除並指引我到a.php,所以當a.php檢查我的狀態時,它並未被鎖定,因此它不會再指向我b.php。

我想通過顯示一個警告,以防止用戶(你想註銷或者你想保存離開這個頁面之前,你的工作),我該怎麼辦呢?

回答

0

我不知道什麼是你想的,因爲你的累贅英語達到...

你不能在你的註銷()函數混合的JavaScript和PHP在一起。但是,有一個解決方案:

  1. 使所謂的 「logout.php」 新文件
  2. 把你的JavaScript退出() - 函數內容到它
  3. 然後解決您的html: <a href="logout.php">logout</a>

然後,你原來的問題。您可以使用.onbeforeunload

window.onbeforeunload = function(e) { 
    return 'Do you want to log out or do you want to save you work before leaving this page?'; 
}; 

記住返回文本不是在所有的瀏覽器都支持。

+0

對不起,我沉重的英語兄弟,所有我想說的是經過一些登錄後,他去首頁,然後如果他通過按瀏覽器去前一頁按回他的按鈕,他將註銷,我只是想防止這種情況(當你登錄到FB嘗試返回到登錄頁面,但你不能保持登錄狀態,直到你註銷)謝謝 –

+0

你可以把,比如說,ajax請求(得到PHP腳本)到onbeforeunload函數。 – aksu