检查遍布网络,并尝试所有可能的解决方案写在会议上的问题。每一个php页面创建自己的会话
我有3页:第1页从重定向的形式读取一些数据并在会话中存储4个变量。这里是第一个会话ID生成,如果我检查print_r($ _ SESSION)一切正常。
表格从此页面提交到第二页,其中数据存储在mysql数据库(这里没有会话操作),然后“meta”重定向到第3页。
在这里,我尝试从会话中读取变量,而是生成一个新的会话。 如果我看看我的服务器tmp目录,这两个会话都在这里。
为什么生成新的会话而不是从第一个会话读取?
- 试图页面编码:ANSI,UTF-8瓦特BOM,UTF-8 WO BOM
- 试图脚本写在php.net会话手册
任何其他的想法?
代码是简单的会话是这样的:
1 PHP
session_start();
$_SESSION['id'] = $id;
第2页试图
session_start();
print_r($_SESSION);
输出Array{ id -> }
所以只有空瓦里能够
第3页
session_start();
$id = $_SESSION['id'];
echo $id;
和输出是 ''
发布您的代码。我们不能盲目! – Polynomial
检查会话cookie是否传播正常,并在每个页面请求之间保持不变。如果Cookie中的会话ID发生更改,则每次都会收到新会话。同样,确保所有页面都在执行session_start()。 –
如果第2页上的“没有会话操作”意味着你没有调用'session_start()' - 那就是你的问题。 – Narf