$ _SESSION和$ _GET之间的奇怪冲突

时间:2016-01-22 12:24:36

标签: php session get

为了在我使用的2.php文件之间传递变量,

发送方

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_selected="true" />
<item android:color="@color/white" />

接收器

<?php  
session_id('theSessionID'); 
session_start();
$_SESSION['theLOG'] = $theloginusername;
?>

(顺便说一下,它只适用于session_id)

并且它有效,但我注意到在包含此代码的其他页面上,

<?php 
session_id('theSessionID'); 
session_start();
$theloginusername = $_SESSION['theLOG'];
?>

上述条件的作用就好像变量是空的,即使它不是。

奇怪的是,当我注释掉条件语句时,<?php if (empty($_GET)) {echo "<script>window.location = 'http://www.myweb.com/'</script>";} $passToken = $_GET["recordID"]; ?> 变量被分配了$passtoken的预期值。

为什么当我$_GET使用$_SESSION以这种方式回复时呢?

1 个答案:

答案 0 :(得分:0)

  

它只适用于session_id

我认为你的意思是它只有在你加入

行时才有效
session_id('theSessionID'); 

(我还假设您知道在生产系统中使用会话ID的文字值是多么愚蠢。)

如果是这种情况,那么您的Cookie生成错误报告会出现问题(否则您会看到PHP生成的错误消息,说明了headers had already been sent)。