我想在PHP中使用session。但它在我的场景中显示出一些问题。
我想在3个不同的PHP文件中共享同一个会话。
./sessionTest/testing1.php
./testing2.php
./testing3.php
如果我在testing1.php
的$ _SESSION中存储了一些信息,我就无法访问其他2个文件中的相同信息
如何使这3个文件共享同一会话实例? 是否有其他(除了cookie)使这成为可能?
P.S。这3个文件由不同的调用执行,不能使用include()或require()函数将一个文件包含到另一个文件中。
在顶部添加了session_start(),但仍然没有共享同一个会话。
答案 0 :(得分:4)
像这样: - )
//<-- testing1.php -->
<?php
session_start();
$_SESSION['value'] = "Text!";
?>
//<-- testing2.php -->
<?php
session_start();
echo $_SESSION['value']; //Text!
?>
答案 1 :(得分:1)
请参阅本教程:PHP Sessions 也许它可以帮助您理解使用会话
答案 2 :(得分:0)
获取用于MSIE的iehttpheaders或用于Firefox的Web开发人员工具栏/ firebug,并检查您的PHP代码/呈现的cookie是否被删除。还要检查setcookie标题上的路径和标志。
答案 3 :(得分:0)
是否禁用了PHP错误?如果是这样,你可能在代码中遇到问题而只是没有看到它?我已经发生这种情况,我在开始会话之前在输出流中有一些空格,这意味着会话因为会话头没有先发送而中断。当然,没有php错误显示它并不明显为什么变量是null。
答案 4 :(得分:0)
只是更新,因为我在这里遇到了一些问题。如果网站有多个会话/ cookie,则使用session_name()会很有帮助。查看浏览器首选项以查看浏览器存储的cookie。我发现如果你使用不同的会话,你必须经常刷这些cookie才能看到发生了什么。
<?php
session_name('mySession');
session_start();
$_SESSION['value'] = "Text!";
?>
<?php
session_name('mySession');
session_start();
echo $_SESSION['value'];
?>