index
页面上的按钮:
$('#killsession').click(function() {
$.get('killsession.php');
alert("OK");
});
killsession.php
:
<?php
session_start():
session_destroy();
?>
使用此按钮终止会话后,index
上的任何会话式相关功能仍然有效(会话变量仍然设置/存在)。例如,我有一个计数会话变量,当我单击某个按钮时,该变量会递增。此计数变量在终止会话后不会在计数中失去位置。
是否可以使用JQuery按钮终止会话?
所有PHP会话项都是在首次加载页面时加载的。只要页面打开,它们仍在页面/浏览器内存中。您需要在终止会话后重新加载页面。您可以使用javascript window.location.href=window.locationhref
$('#killsession').click(function() {
$.get('killsession.php', function() {
alert("the server page executed");
//Here you may do further things.
window.location = window.location;
});
});
killsession.php
session_start();
$_SESSION = array();
$params = session_get_cookie_params();
setcookie( session_name(), '', time() - 42000,
$params["path"],
$params["domain"],
$params["secure"],
$params["httponly"]
);
session_destroy();
exit('OK');
确保您只在ajax函数的回调中做其他事情(如检查会话)。回调中的任何内容都将在收到来自ajax服务器页面的响应后执行。
$('#killsession').click(function() {
$.get('killsession.php',function(){
alert("the server page executed");
//Here you may do further things.
});
});