PHP - 会话变量修改

时间:2014-06-11 20:12:24

标签: php session var

我的网站项目出现意外问题。这是一种奇怪的情况,所以我决定问你们。

首先让我解释一下我想要实现的目标。

我正在创建一个具有登录/注册系统的网站,并且有一个使用会话来检查用户是否已登录的var。因为我有很多代码,所以我暂时删除了整个代码,并放置了一些基本的新代码对会话变量的操作。原来,代码仍然无法正常工作。所以它必须是一些基本的东西(?)。让我告诉你:

//Index.php
session_start();
<a href='setvar.php'>Set Vars</a>
<a href='showvar.php'>Show Vars</a>
<a href='deletevar.php'>Delete Vars</a>
<a href='only_if_var_is_not_set.php'>Var Is Not Set</a>

//Set Var
session_start();
$_SESSION['var'] = 1;
header("Location: index.php");

//Show Var
session_start();
if(isset($_SESSION['var'])) echo 'SESSION VAR IS SET';

//Delete Var
session_start();
session_destroy();
$_SESSION = array();
header("Location: index.php");

//Only If Var Is Not Set
session_start();
if(isset($_SESSION['var'])) header("Location index.php");

在设置任何内容之前,我可以顺利地转到页面,如果设置了Var。问题是,当我转到页面设置Var然后显示Var我有我的沟通'SESSION VAR IS SET',但是当我去Delete Var然后尝试输入Only If Var Is Not Set它重定向到index .php和Show Var我看不到我的var存在...有谁知道可能是什么原因?

有人提到检查session_id。有趣的事情也在发生。会话ID在每个页面上是相同的,但是当我删除我的会话和变量时,它会在index.php和logout页面上发生变化,但是在刷新后它会返回到之前的值... 等待你的意见。
非常感谢。 约翰。

1 个答案:

答案 0 :(得分:0)

检查session.save_path并确保您具有权限(在PHP.INI文件中)