2012-03-09 78 views
0

我想要一個按鈕,在點擊時註銷用戶。 但我不想爲此創建表單,或者創建一個「onclick」處理程序。 還有另一種方法可以做到嗎?如何觸發沒有窗體或Javascript的logout.php腳本?

<p class='loginposition normal'> 
."$_SESSION['email']".<form action='/logout.php' method='post'><input class='logout-submit button' type='submit' style='float:right;' id='logoutbtn' value='Log Out'></form> 
</p>"; 

我希望他們能在一個原料: [email protected] [註銷]

+2

您可以使用get請求來註銷,但這違反了GET和HEAD方法不應該具有采取除數據檢索之外的操作的意義的原則。如果這不是問題,只需使用簡單的錨點元素並將其設置爲按鈕或其他類型。 – 2012-03-09 09:36:48

+0

你必須使用PHP來銷燬會話,否則任何人都可以訪問其他人的頁面。 – 2012-03-09 09:36:55

+0

爲什麼不呢?可能有一種解決方案可以使用這些方法之一併滿足您的需求 – Sotiris 2012-03-09 09:37:35

回答

2

如果你想要一個POST請求,那麼你需要Ajax(這將是一個愚蠢的技術用於註銷)或表單。

由於註銷不是可重複的操作,因此POST是正確的工具。

克服自己的感受並使用表單。

您可以通過將該段落放入表單而不是其他方式來處理HTML無效和額外換行符的問題。

0

不,你可以選擇使用的形式或Javascript。

0

這個怎麼樣(你必須編輯你的logout.php):?

<a href="logout.php">Log Out</a> 
+0

該鏈接可以被自動遵守(例如,由預警者)並自動登出用戶。 GET請求不適合執行此任務。 – Quentin 2012-03-09 09:37:05

+1

@Quentin是一個現實的情況?甚至stackoverflow使用'' for logout – rickyduck 2012-03-09 10:01:39

+3

@rickyduck — Yes. Forum admins have deleted entire pages of forum posts that way. StackOverflow is not a shining beacon of best practises when it comes to web dev. – Quentin 2012-03-09 10:08:58

0
<input class='logout-submit button' type='button' style='float:right;' id='logoutbtn' value='Log Out' onClick='window.location.href="./logout.php"'> 

如果你想使用按鈕我想最短的方法。

+0

specifically stated no js – rickyduck 2012-03-09 09:58:20

+0

as i said. it's just the shortest way ^^ if u dont want to use neither forms nor js or such, u proppably should handle it with a simple link Log Out 作爲@silly說... – Ace 2012-03-09 14:25:05

0

你可以使用jQuery的AJAX方法,像這樣

$('#logout-button').click(function(){ 
$.ajax({ 
    type: "POST", 
    url: "logout.php", 
    success: function() { 
     alert("You have been successfully logged out"); 
     window.location.href = "home.php"; 
    }, 
    error: function() { 
     alert("Error! Something unexpected happened"); 
    } 
}); 
return false; 
}); 

我想這將工作...

+0

如上,具體說沒有js – rickyduck 2012-03-09 09:58:36

0

...你可以使用它發送POST請求閃光燈按鈕logput .php如果您熟悉as3/as2

相關問題