我正在研究PHP和MySql。我需要一个功能,当用户关闭浏览器选项卡时,用户应该自动注销。 我使用过javascript onbeforeunload事件。但它不起作用,此事件也会执行页面刷新。
这是我的示例代码,
window.onbeforeunload = function(){
$.ajax({url: "logout.php", success: true});
return 'Are you sure ?';
};
答案 0 :(得分:0)
想法会每隔2秒戳一次后端,当你停下来让我们说5秒钟时,你的会话会到期吗?这样,关闭标签会话后3到5秒将自动过期。
setInterval( function() {
$.get('/poke.php');
}, 2000);
虽然php方面:
// poke.php
$_SESSION['poke'] = time();
// Probably your index.php
if (isset($_SESSION['poke'] && time() - $_SESSION['poke'] > 5) {
// Do the logout
} else {
$_SESSION['poke'] = time();
}