当前位置:Gxlcms > PHP教程 > thinkphp,在模块中的方法间跳转后session值会被清空是为何?怎么解决?

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

时间:2021-07-01 10:21:17 帮助过:5人阅读

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值跨页面就空了

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

人气教程排行