会话变量消失

时间:2011-07-27 12:03:15

标签: php session session-variables

我遇到一个会话变量的问题,当我导航到新页面时,该变量就会消失。 在页面上,变量一直有效。我从头到尾做了几个输出。

在页面B上它已经消失,而页面b看起来像这样:

<?php 
  session_start();

  //include "dbConnect_local.php"; // Databasanslutningen lokalt
  //include "dbConnect.php";        // Databasanslutningen web

  echo $_SESSION['coming_from_input']." apa";
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv" >
  <head>

  </head>

  <body>

  </body>
</html>

页面b与页面a位于同一个域中。这是所有代码,在session_start();

之前没有发送任何内容

使用session_id()我可以看到两个页面上的会话ID不同。

感谢您的帮助

3 个答案:

答案 0 :(得分:0)

有一个session_start();在第一页之前,不是吗?

如果是这样,也张贴第A页,因为我们的信息太少......

答案 1 :(得分:0)

  

你有一个session_start();在第一页之前,不是吗?

...您已检查过日志,发现没有报告错误?

你创建了一个脚本,明确地发出错误来检查你的日志记录是否正常工作?

您已经看过HTTP响应标头以确保服务器在第A页上设置了cookie吗?

您已经查看了HTTP请求标头,以检查浏览器是否返回了cookie?

你正在使用默认的会话处理程序?

你已经检查过会话文件目录是否可由webserver uid写入?

您是否在点击页面A后检查了在该目录中是否创建了具有预期内容的会话文件?

...只有你没有在原帖中说。

答案 2 :(得分:0)

好的,所以我现在已经解决了这个问题,这似乎是我愚蠢的网络酒店,这对我来说是个蠢货。我把它写成答案而不是评论,这样每个人都可以看到它。我确实喜欢这个:

我在第a页和第b页写了会话ID。他们没有相同的价值。我觉得这很奇怪,因为它适用于我页面的另一部分(登录和注册)。所以我登录并从注册页面直接跳到这个问题的B页。 Id:s匹配。

好笑,所以我删除了第一页不需要的所有代码。当我现在尝试一切工作。好的,我在chunk中添加了代码块,并且一直在浏览器中运行代码,这样就可以看到它何时停止工作。

当我添加了之前删除的所有代码时...它仍在工作!!

我不知道它是怎么样的,但我的猜测是webhotell为我搞砸了。前几天与他们谈过与其他问题相关的问题,似乎他们在服务器上缓存文件,所以当我上传新文件时,直到10分钟后才能看到结果,到那时我已经完成了另外10或15次上传......