我的网站上的根目录中有一个登录页面。成功登录后,执行此代码
$class = $x['class'];
$_SESSION['email'] = $email;
header("location:/$class");
$class
可以是6-12之间的值,我为每个人都有一个单独的目录。现在转到任何子目录后,$_SESSION['email']
都会丢失。
我还有一个名为theme的会话,用于更改我的网站颜色,可以从任何页面更改。现在说我在/6/index.php中更改$_SESSION['theme']
并转到/7/index.php,该值不会丢失。但如果我去/index.php,$_SESSION['theme']
的值就会丢失。
但在那之后
如果我转到/10/index.php,则会再次检索该值
总而言之,会话值在子目录之间传递。但是不在根目录和子目录之间传输。
我该怎么办?我确信我在每个页面的开头键入了session_start();
。
Thnx In Advance
答案 0 :(得分:0)
我终于通过将文件从根目录复制到名为root的文件夹来解决了这个问题,并从/index.php执行了301重定向到/root/index.php。不是推荐的解决方案