欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp, 在模块中的方法间跳转后session值会被清空是为何?怎么解决?

程序员文章站 2022-04-28 17:12:45
...
thinkphp, 在模块中的方法间跳转后session值会被清空是为何?怎么解决?
我在做一个登陆的功能,在登陆前判断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值跨页面就空了

同问啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊