会话未被清除

时间:2011-09-25 19:35:44

标签: php session google-chrome google-chrome-extension xmlhttprequest

我有一个谷歌浏览器扩展程序通过XHR与PHP脚本交谈。我在PHP脚本中有一个标志,用于检查是否在弹出窗口中单击了一个按钮,如果发送了正确的POST数据。如果单击此按钮,则需要销毁当前会话,并且通过单击添加按钮输入新数据时,不应将数据附加到现有会话,而是启动新会话。它目前只是将数据重新附加到数组。就好像忽略了clear session命令一样,但是正确地向控制台调用了IF语句。如何获取清除会话语句以清除会话?

PHP脚本:

<?php $json = $_POST['data'];

if($json['button'] == "clear"){
session_unset();
session_destroy();
echo 'session destroyed!'; //being called to console
exit();
}

if (!isset ($_COOKIE[ini_get($_SESSION['data'])])) {
    session_start();
  }

if(!isset($_SESSION['data'])){
    $_SESSION['data'] = $json;
} elseif (isset($_SESSION['data'])){
    array_push($_SESSION['data'], $json);
    }

print_r($_SESSION['data']);
?>

1 个答案:

答案 0 :(得分:2)

您必须先致电session_start()

if($json['button'] == "clear")
{
  session_start(); // <-- first
  session_unset();
  session_destroy();
  echo 'session destroyed!'; //being called to console
  exit();
}