我无法在设置它们的页面上使用会话变量,它们就像非会话变量一样.我在其他六个类似的论坛上发现了类似的问题,但其他案例中的答案总是不适用.
这是我的文件:
sess1.PHP
<?PHP session_start(); session_register("userid"); session_register("textvar"); $_SESSION['userid'] = 10333 ; $_SESSION['textvar'] = TextVariable ; echo "<p>User ID is: " . $_SESSION['userid'] . "</p>" ; echo "<p>Another variable is: " . $_SESSION['textvar'] . "</p>" ; ?> <p>Go to the <a href="sess2.PHP">next page</a>.</p>
和,
sess2.PHP
<?PHP session_start(); echo "<p>The userid session variable is: " . $_SESSION['userid'] . "</p>"; echo "<p>The other session variable is: " . $_SESSION['newvar']. "</p> "; ?>
每种情况下的浏览器输出是:
sess1.PHP
User ID is: 10333
Another variable is: TextVariable
Go to the [next page].
和,
sess2.PHP
The userid session variable is:
The other session variable is:
Go to the [last page].
有些事情不是:
>我在两个文件的顶部都有session_start().
>变量目录是可写的,会话变量显示在那里. (我有大约一百个名为sess_b62的小文件,里面有这个:’userid | i:10333; textvar | s:12:“TextVariable”;’.)
> PHPinfo()告诉我正在正确读取PHP.ini文件,并将生命周期设置为默认值0,即直到浏览器关闭.
我的智慧结束了.有什么建议?
非常感谢.
会话ID必须以某种方式携带,以便可以在多个页面上使用相同的会话.通常,这是通过cookie完成的(参见
session.use_cookies
),但也可以在URL或表单中完成(参见
session.use_trans_sid
).
首先,您必须确保传输会话ID,以便PHP可以加载正确的会话和会话数据.