解决方案 »

  1.   

    thinkphp 提供了自己的 session 处理方法,请使用
      

  2.   

    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 '<script language="javascript">alert("登陆成功");window.location.href="index"</script>';
    }else{
    echo '<script language="javascript">alert("登陆失败");window.location.href="login"</script>';
    }
    }else{
    echo '<script language="javascript">alert("创建数据失败");window.location.href="login"</script>';
    }
    }
    这是对登陆用户信息的check方法logincheck    public function index(){
    session_start();
    if(session('?stuid')){
    $this->assign('title','暨南大学深圳旅游学院学生信息管理系统');
    $this->display();
    }else{
    //$this->redirect('login',5,'页面跳转中');
    echo '<script language="javascript">alert("不存在session stuid的值");window.location.href="login"</script>';
    }
        }
    这是登陆check成功后跳转到index方法中,但是session值就被清空了
      

  3.   

    注释掉所有 session_start(); 行
      

  4.   

    echo session('stuid');
    在logincheck中的这段代码还是可以打印出session的值的,也是弹出登陆成功,但是当跳转到index方法的时候就弹出“不存在session stuid的值”的对话框。注释掉session_start也是不行的哦
      

  5.   

    thinkphp 有自己的session_auto_start    默认是开启的
      

  6.   

    同样的问题....实在是没找到解决办法,不过同样的程序在服务器上就是好的.
    所以肯定是环境的问题.. 但是就是找不到问题...
    session过了页面就丢失了.  在同一个action下面的两个方法都拿不到   
    也用的是tp提供的session方法
      

  7.   

    我在Mac本机上测试一点都没问题,上传至服务器Session值跨页面就空了
      

  8.   

    我使用Windows没出现过session丢失问题,但今天使用Mac的时候,始终无法登陆(因为session丢失),我一检查项目下的Runtime目录权限,原来拥有者既不是本人,并且权限也不足,所以敲两个命令后就可以登陆了