我在我的网站的根目录中有一个登录页面。成功登录后,将执行此代码。
$class = $x['class']; $_SESSION['email'] = $email; header("location:/$class");
$class可以是6-12之间的值,我为每个子目录都有一个单独的目录。现在,在转到任何子目录后,$_SESSION['email']就丢失了。
我也有一个名为主题的会议,这是用来改变我的网站的颜色,可以从任何网页。现在假设我在/6/index.php中更改了$_SESSION['theme'],然后转到/7/index.php,那么这个值不会丢失。但是如果我去/index.php,$_SESSION['theme']的值就会丢失。
但在此之后,如果转到/10/index.php,则会再次检索该值。
因此,总之,会话值是在子目录之间传输的。但不会在根目录和子目录之间传输。
我该怎么办?我确信我在每一页的开头输入了session_start();。
先期
发布于 2016-03-24 13:55:32
我最终通过将文件从根目录复制到一个名为root的文件夹解决了这个问题,并从/index.php重定向到/ root /index.php。不过,这不是推荐的解决方案
https://stackoverflow.com/questions/36198133
复制相似问题