为什么会话 ID 不能保留在同一域中

我注意到我的php会话ID在我从


https://www.mathtutortime.com/tutor/tutor https://www.mathtutortime.com/account/get_tutoring/lobby.html。


它工作得很好,如果我从


https://www.mathtutortime.com/account/ https://www.mathtutortime.com/account/get_tutoring/lobby.html。


我以为会话ID不会保留在不同的域上。


我在 https://www.mathtutortime.com/tutor/tutor 的代码具有我已经存储的会话信息


https://www.mathtutortime.com/tutor。https://www.mathtutortime.com/tutor/tutor 中的代码是:


<?php session_start(); ?>

<!DOCTYPE html>


<html>

    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <script>

        window.location.replace("https://www.mathtutortime.com/account/get_tutoring/lobby.html")

    </script>


    </head>



    <body>




    </body>


</html>

在大堂.html,我有:


<?php session_start();

echo session_id();

if($_SESSION['loggedin'])

{

    echo "yelo";

    if(!$_SESSION['tutor'] && $_SESSION['minutes'] > 0)

    {

...


?>

现在,如果我重新加载大厅.html重定向后,会话ID似乎重置回原来的状态。这意味着它在重新加载页面后工作。我认为这是因为我能够超越


if($_SESSION['loggedin'])

部分.html,当我回显它时,我可以看到会话ID更改。


因此,我认为会话信息确实存在,但只有当我使用window.location.replace等进行重定向时才会失效。但我不知道为什么。


感谢您的帮助。


ibeautiful
浏览 61回答 2
2回答

MMMHUHU

真的很奇怪,现在它工作了。我只是重置了我的历史记录/饼干。我确实在新行上有session_start(),所以可能已经修复了它。但是,仅在删除我的cookie/历史记录后才发现它被修复的事实。无论如何,感谢那些回答的人!

弑天下

更改此项&nbsp; &nbsp; <?php session_start();?><!DOCTYPE html><html>要成为这个,以便在session_start()之前没有空格(或任何其他字符)被渲染。<?php session_start();?><!DOCTYPE html><html>您的 !doctype 也应该没有前面的空格,尽管不会是问题所在。
打开App,查看更多内容
随时随地看视频慕课网APP