Webmatrix session_destroy()

时间:2015-10-01 11:14:58

标签: php session-variables webmatrix

我在第一个php文件中编写了一个简单的$ _SESSION变量代码:

 <?php
    session_start();
    $_SESSION["name"] = "John";
 ?>

并在另一个php文件中呈现:

  <?php
      session_start();          
      echo $_SESSION["name"];
   ?>

但之后我使用session_unset();和session_destroy();之后,我无法呈现任何新的$_SESSION变量,也无法呈现现有变量。我使用Microsoft WebMatrix程序和Chrome作为主浏览器。有什么建议?提前谢谢。

1 个答案:

答案 0 :(得分:0)

那是因为session_destroy();销毁当前会话并向浏览器发送标头以删除会话变量。同时在服务器上删除会话(在PHP中),并且不再使用$ _SESSION变量。您始终可以尝试将$ _SESSION保存在另一个变量中;

session_start();
$_SESSION['test'] = 'foo';

下一页:

session_start();
$saveSession = $_SESSION;
session_destroy();
var_dump($_SESSION); //Gives an empty array
var_dump($saveSession); //Still has ['test' => 'foo']

更多信息:http://php.net/manual/en/function.session-destroy.phphttp://php.net/manual/en/book.session.php

另外,旁注,如果合并PHP标签,则无需打开和关闭它们;

  <?php
  session_start();
  echo $_SESSION["name"];
  ?>

一样有效
  <?php
  session_start();
  ?>
  <?php
  echo $_SESSION["name"];
  ?>