4

ページのボタンindex

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

killsession.php

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

このボタンでセッションを強制終了した後も、セッション風の関連関数はindex引き続き機能します(セッション変数は引き続き設定/存在します)。たとえば、特定のボタンをクリックするとインクリメントされるカウントセッション変数があります。このカウント変数は、セッションを強制終了した後のカウントでその位置を失うことはありません。

JQueryボタンでセッションを強制終了することは可能ですか?

4

3 に答える 3

5

すべてのPHPセッション項目は、ページが最初にロードされるときにロードされます。ページが開いている限り、それらはページ/ブラウザのメモリに残ります。セッションを終了した後、ページをリロードする必要があります。これは、javascript window.location.href=window.location.hrefで実行できます。

于 2012-08-07T04:05:51.173 に答える
4
$('#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');
于 2012-08-07T04:58:22.567 に答える
1

他のこと(セッションのチェックなど)は、ajax関数のコールバック内でのみ行っていることを確認してください。コールバック内のすべては、ajaxサーバーページからの応答を受信した後に実行されます。

$('#killsession').click(function() {
    $.get('killsession.php',function(){
       alert("the server page executed");
       //Here you may do further things.

    });

});
于 2012-08-07T04:05:51.407 に答える