我开始使用以下新会话:session_start();
然后我设置了一些像这样的会话变量:
$_SESSION['name']=$_POST['name'];
和其他一些变量。
在页面底部,我将标题设置为不同的页面:
header('location: index.php');
exit();
现在在新页面(index.php)中,我无法访问我的会话变量,例如$_SESSION['name']
。
怎么了?
感谢。
答案 0 :(得分:7)
您是否正在尝试访问已写入的session_start()
变量的其他页面中调用$_SESSION
?在尝试阅读任何内容之前,您也需要这样做,例如:
session_start();
$blah = $_SESSION['blah'];
答案 1 :(得分:4)
这是PHP,HTTP或您想要责怪的任何人的已知问题。基本上,您无法在同一请求中使用HTTP设置Cookie和重定向。当您开始尚未创建的会话时,您正在发送cookie。
两个选项:
示例:
<?php /* set session cookies */ ?>
<script>window.location.replace("index.php");</script>