簡體   English   中英

退出時運行php腳本

[英]running php script upon exit

當瀏覽器或窗口關閉時,有人按下X時,是否有一種方法可以調用php腳本。

我有一個登錄,注銷腳本

$sql2 = "UPDATE `users` SET `loggedin` = '1' WHERE `username` = '$username' AND `password` = '$password' LIMIT 1 ";

將SQL變量更改為1或0,讓我知道該人是否已登錄。

如果該變量為1,而其他人嘗試登錄,則將無法登錄。

但是我的問題是,如果有人關閉窗口而不注銷。 該變量保持為1,因此無法登錄。

首先,您需要考慮准備語句,因為到目前為止,您的代碼容易受到sql注入的攻擊。

作為問題的答案,請嘗試以下操作:

  1. 使用會話是因為您需要捕獲瀏覽器關閉的事件,會話將一直存在直到打開瀏覽器。
  2. 如果沒有會話,則使用javascript捕獲關閉事件(谷歌如何做到),然后將ajax請求發送到PHP腳本,該腳本將更新數據庫中的所需字段

作為GGio的補充;

使用類似jQuery(JS)的功能

$(function () {
  $("a").click(function {
    window.onbeforeunload = null;
  });
});

在該函數中進行AJAX調用。 撥打電話並關閉瀏覽器后,服務器仍將處理它,只有客戶端沒有發送回去。

因此,請注意其中的代碼,因為您無法檢查輸出或要求用戶驗證。

更多信息:

onbeforeunload事件上的jQuery.ajax無法正常工作

http://eureka.ykyuen.info/2011/02/22/jquery-javascript-capture-the-browser-or-tab-closed-event/

http://zeeshanumardotnet.blogspot.co.at/2011/01/how-to-end-session-when-browser-is.html

暫無
暫無

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

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