thinkphp, 在模块中的方法间跳转后session值会被清空是为何?怎么解决?
程序员文章站
2022-04-07 22:09:38
...
thinkphp, 在模块中的方法间跳转后session值会被清空是为何?怎么解决?
我在做一个登陆的功能,在登陆前判断session的某个值是否为空,若为空则还跳转到登陆页面,若不为空则进入到下一个页面当中。但是在跳转后session值就无故被清空了是怎么回事?该怎么解决撒?
这是对登陆用户信息的check方法logincheck
这是登陆check成功后跳转到index方法中,但是session值就被清空了
在logincheck中的这段代码还是可以打印出session的值的,也是弹出登陆成功,但是当跳转到index方法的时候就弹出“不存在session stuid的值”的对话框。注释掉session_start也是不行的哦
我在做一个登陆的功能,在登陆前判断session的某个值是否为空,若为空则还跳转到登陆页面,若不为空则进入到下一个页面当中。但是在跳转后session值就无故被清空了是怎么回事?该怎么解决撒?
回复讨论(解决方案)
thinkphp 提供了自己的 session 处理方法,请使用
public function logincheck(){ session_start(); $stu=new Model('Priminfo'); if($stu->create()){ $stuid=$stu->stuid; $pwd=md5($stu->pwd); $list=$stu->where("stuid='$stuid' and pwd='$pwd'")->field('stuid,pwd')->find(); if($list!==NULL && $list!==''){ session('stuid',$stuid); echo session('stuid'); echo ''; }else{ echo ''; } }else{ echo ''; } }
这是对登陆用户信息的check方法logincheck
public function index(){ session_start(); if(session('?stuid')){ $this->assign('title','暨南大学深圳旅游学院学生信息管理系统'); $this->display(); }else{ //$this->redirect('login',5,'页面跳转中'); echo ''; } }
这是登陆check成功后跳转到index方法中,但是session值就被清空了
注释掉所有 session_start(); 行
echo session('stuid');
在logincheck中的这段代码还是可以打印出session的值的,也是弹出登陆成功,但是当跳转到index方法的时候就弹出“不存在session stuid的值”的对话框。注释掉session_start也是不行的哦
thinkphp 有自己的session_auto_start 默认是开启的
你好!楼主我也遇到和你一样的问题,请问你解决了没有?
楼主求解啊,我也遇到了差不多的问题,用tp自带的验证码,前两天是好的,今天等就是不行了,验证码里面$_SESSION['verify']的值始终是null...
求联系qq545350163
同样的问题....实在是没找到解决办法,不过同样的程序在服务器上就是好的.
所以肯定是环境的问题.. 但是就是找不到问题...
session过了页面就丢失了. 在同一个action下面的两个方法都拿不到
也用的是tp提供的session方法
楼主,你这问题还不是算奇葩,我现在的问题是有的地方能取到有的地方取不到,有的地方是有时能取到,有时取不到。。。。不知道楼主有没有有解决?要是解决了望能指点指点,,,,,,
我在Mac本机上测试一点都没问题,上传至服务器Session值跨页面就空了
同问啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
上一篇: 请问如何将多维数组转换为二维数组?
下一篇: PHP实现二维数组赋值与遍历功能