关于PHP Session

时间:2013-06-08 02:28:41

标签: php

我在index.php中注册了一个会话并打印出来。

$_SESSION['login'] = 'ok'; //print 'ok'

然后在page1.php中获取此会话并进行更改。

<?$_SESSION['login'] = 'no';?>
setTimeout('window.location="index.php"', 100);

现在在index.php中仍然有'ok'打印。怎么可以?

2 个答案:

答案 0 :(得分:3)

你的评论

,你们两个都有session_start()吗?但让我们一步一步:

  1. 你去 index.php 并将你的会话变量设置为'ok'
  2. 您转到 page1.php 并将会话设置为“否”
    在此之后,您将页面重定向回 index.php
  3. index.php 中打印出会话变量的值,然后返回'ok' 即使将 page1.php 中的值设置为'no',对吗?但你忘了 当您被重定向到 index.php 时,您将会话的值更改回'ok'
  4. 因为你在index.php中没有任何条件,即使你在其他页面上设置了它,它也会一直打印'ok'

答案 1 :(得分:0)

在每个脚本上,您需要包含以下代码行:

<?php session_start(); ?>

如果你不这样做,PHP将不会持久存储$_SESSION vars,它将默认为最初设置的内容。

要阅读有关PHP $_SESSION变量的更多信息,请查看此处:PHP: session_start()