PHP - 会话变量问题

问题描述:

我在我的网站上遇到问题。我没有发布任何代码,因为我不认为有任何与展示相关的东西,我已经做了几次相似的事情。我的问题只是关于逻辑。PHP - 会话变量问题

我有一个页面发送Ajax请求到两个其他的PHP文件。这些文件使用会话变量来构建一些JSON。

问题是一些会话变量只能被一个php文件看到。当我检查var_dump($_SESSION)的输出时,我可以看到一个文件可以看到所有的会话变量,另一个只能看到它在前面的调用中设置的那个文件。当我检查会话ID时,我可以看到两个文件都有不同的会话ID。

你对什么可能是问题有任何想法,或只是跟踪?

+0

不同会话ID意味着会话cookie设置不正确,浏览器不会发送页面“A”中的cookie以及页面“B”的请求,导致页面“B”创建一个全新的会话。 – 2013-04-21 17:53:20

+0

@MarcB我该如何解决这个问题? – 2013-04-21 17:56:20

+0

@André在你设置的页面顶部使用start_session(),并获取会话变量,如果这不是然后发布你的错误 – 2013-04-22 12:52:13

之前,我终于解决了这个问题。问题与域名有关。当你使用子域名时,或者不要添加“www”时,浏览器认为它是一个不同的域名,并且不发送cookie,然后启动一个新的会话。

检查你是否有在这两个页面session_start()使用sission变量

+0

是的,这是每个文件的第一条指令。 – 2013-04-21 17:37:02

+0

[会话配置值](http://www.php.net/manual/en/session.configuration.php)在每个文件中设置为相同的值吗? – 2013-04-21 17:40:24

+0

您是否使用Drupal? – Bolli 2013-04-21 17:41:58