为了在我使用的 2 个.php文件之间传递一个变量,
寄件人
<?php
session_id('theSessionID');
session_start();
$_SESSION['theLOG'] = $theloginusername;
?>
接收器
<?php
session_id('theSessionID');
session_start();
$theloginusername = $_SESSION['theLOG'];
?>
(顺便说一句,它仅适用于session_id)
它有效,但我注意到在其他包含此代码的页面上,
<?php
if (empty($_GET)) {echo "<script>window.location = 'http://www.myweb.com/'</script>";}
$passToken = $_GET["recordID"];
?>
上述条件的行为就好像变量是空的,即使它不是。
奇怪的是,当我注释掉条件语句时,$passtoken
变量被分配了来自 $_GET
的预期值。
为什么当我使用$_SESSION
时,$_GET
会以这种方式响应?
它仅适用于session_id
我想你的意思是它只有在你包含该行时才有效
session_id('theSessionID');
(我还假设您知道在生产系统上使用会话 ID 的文字值是多么愚蠢)。
如果是这种情况,那么您的cookie生成和错误报告有问题(否则您会看到PHP生成的错误消息,指出标头已经发送)。