Отключение сеанса PHP с помощью JQuery / AJAX

Кнопка на index странице:

 $('#killsession').click(function() { $.get('killsession.php'); alert("OK"); }); 

killsession.php :

 <?php session_start(): session_destroy(); ?> 

После убийства сеанса этой кнопкой все связанные с сеансом функции по index все еще работают (переменные сеанса все еще установлены / существуют). Например, у меня есть переменная сеанса подсчета, которая увеличивается при нажатии на определенную кнопку. Эта переменная счета не теряет своего места в подсчете после убийства сеанса.

Можно ли убить сеанс кнопкой JQuery?

Related of "Отключение сеанса PHP с помощью JQuery / AJAX"

Все элементы сеанса PHP загружаются при первой загрузке страницы. Они все еще находятся в памяти страницы / браузера, пока страница открыта. Вам необходимо перезагрузить страницу после убийства сеанса. Вы можете сделать это с помощью javascript window.location.href = window.location.href

 $('#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. }); });