我在第一个页面中用session_register("cookieid"),然后跳转到第二个页面,
第二个页面,在第二个页面中,第一次能够正常读取,但是在第二个页面中使用subnet按钮提交以后就不能正常读取cookieid了,跳转回login.php了。请问是不是在第二个页面提交以后就不session的值就消失了?!
第二个页面代码
<?php
session_start();
if (!session_is_registered('cookieid'))
{
require('login.php');
return ;
}
else 
{
session_register('cookieid1');
include('load.php');
}
?>
<html>
<head>
<title>login_success</title>
</head><?php
if(isset($_POST['textarea1']))
{
include('write.php');
}
?>
<body>
<br><br><br><br><br><br>
<center>
<form name="form2" method="POST">
<textarea name="textarea1" COLS="80" ROWS="15" WRAP="OFF"><?php echo $tmp ?></textarea>
<br><br>
<input type="submit" value="提 交" >
</form></center>
</body>
</html>

解决方案 »

  1.   

    应该不会啊!不会这样消失的。这个和你的代码有关系,你提交之后,有一次回到了创建session的页面,并且执行了重新构造session。所以,你应该判断一下,是不是应该做作一下session的判断?session存在的话,就不能执行那个构造session的东西了
      

  2.   

    看一下 global变量的开关
    为什么要用这个呢?不提倡用这个直接用$_SESSION["name"]
      

  3.   

    上面逻辑很乱,include那么多!如果浏览器一直未关闭,则只有一个sessionID,如果浏览器关闭后再打开。就可能改变ID。
      

  4.   

    session_is_registered老写法了。。
    新的用$_SESSION你print_r一下看看有没有值