PHP会话异常行为

PHP会话异常行为,php,session,Php,Session,我目前在PHP中面临一个奇怪的问题 我有两个脚本,index.php是“主页”,ajax.php是由ajax请求调用的脚本 index.php session_start(); if ($_SESSION['test'] == "hello") { $_SESSION['test'] = "bleh"; die(); } echo "here"; session_start(); $_SESSION['test'] = "hello"; ajax.php session_star

我目前在PHP中面临一个奇怪的问题

我有两个脚本,index.php是“主页”,ajax.php是由ajax请求调用的脚本

index.php

session_start();
if ($_SESSION['test'] == "hello") {
  $_SESSION['test'] = "bleh";
  die();
 }

echo "here";
session_start();
$_SESSION['test'] = "hello";
ajax.php

session_start();
if ($_SESSION['test'] == "hello") {
  $_SESSION['test'] = "bleh";
  die();
 }

echo "here";
session_start();
$_SESSION['test'] = "hello";
所以我继续使用index.php,然后对ajax.php进行ajax调用,我刷新index.php,实际上我希望有一个空白页面,然后刷新并打印“here”;但实际上,脚本永远不会消失,就像$\u SESSION['test']从未设置为“hello”一样


有什么想法吗?谢谢。

我在我的系统中尝试了这个,它按预期工作。尝试直接调用ajax.php页面,看看是否得到预期结果,然后调用第一个页面


还要查看浏览器是否获得cookie集,并确保未忽略cookie集,以便每次会话启动时都能获得一个新会话。

会话启动两次。。。您需要在
ajax.php
中删除对
session\u start
的调用;在ajax.php中,仍然存在相同的问题。在index.php中的“SESSION\u start()”之后打印$\u SESSION数组,查看在进行ajax调用后它是否为空。在我进行ajax调用并刷新两个脚本上打印的SESSION\u id()之后,test设置为“bleh”,这是相同的,所以我想cookie是对的也许你可以打印你的整个脚本-它会给我们更多的上下文来处理。您还可以使用firebug并查看对脚本的调用是如何完成的。