跳转后session被清空是什么原因

浏览:8610 发布日期:2013/05/28 分类:求助交流 关键字: session跳转后被清空 thinkphp跳转session不传递
$result = $Sign->add($data);//如果正常则存入数据库
session("memberid",$result);//直接存入session
session("membername",$data['member_username']);
$this->assign ( 'membername', $_POST['membername'] );//前台赋值登录状态
if($result) { //处理注册成功后的结果。跳转会员信息完善页面
print_r($_SESSION);//这里能输出session 有值
echo "<script type='text/javascript'>alert('注册成功!');</script>";
$this->redirect('Index/memberinfo');//跳转方法
}else{
echo "<script type='text/javascript'>alert('注册失败!');</script>";
}

以上是sign方法,注册提交的方法!!!

以下是memberinfo方法,就是跳转到的那个方法!!!


public function memberinfo(){//会员信息页
print_r($_SESSION);//这里已经没有session输出了
$membername = "";
$memberid = "";
if(!empty($_SESSION['membername'])){//检查登录状态 并赋值
$membername = $_SESSION['membername'];
}else{
$membername = "请登录";
}
........其他代码......
}

session跳转后就被清空了,不知道是什么原因,目前用的是$this->redirect('Index/memberinfo');这个方式跳转。
试过js的跳转,就是window.location.href=这个也一样获取不到,header压根不执行。
唯一一个能获取到session的办法是:跳转那个地方改成$this->memberinfo();这个,直接进方法。这样确实可以获取到,但是页面url还是停留在之前的sign页面,并没有进入memberinfo那个页面,能输出是因为我再memberinfo方法里写上了$this->display("memberinfo"); 所以实质上还是在sign那个方法里,刷新的话会重新提交表单。目前没找到解决的办法。另外session_auto_start开了,apache没有问题。因为用dwz客户端的后台管理试过就没问题。


求解,急~大神们想想办法吧,万分感谢
最佳答案
评论( 相关
后面还有条评论,点击查看>>