thinkphp session问题

御宅男小春子
  • 229
<?php
namespace Home\Controller;
use Think\Controller;
use Think\Model;

class RegisterController extends Controller {
    public function index(){
        if(IS_POST){           
            $User=D('Users');
            $data['tg_uniqid'] = _check_uniqid($_POST['uniqid'],session('uniqid'));
            echo $_POST['uniqid']."<br>";
            echo session('uniqid');//**这里没有任何值**
        if (!$User->create($data)){
          //如果创建失败 表示验证没有通过 输出错误提示信息
          echo "<script type='text/javascript'>alert('{$User->getError()}');history.back();</script>";
        }else{
         //验证通过 可以进行其他数据操作
           $User->add();
        }
        }
        
        
        $_uniqid=sha1(uniqid(rand(),ture));//获取唯一标示符
        session('uniqid',$_uniqid);
        echo session('uniqid');//**这里有值**
        $this->assign('uniqid',$_uniqid);
        $this->display();        
    }    
}

session('uniqid')在is_post输出空值 在判断外面有值的

回复
阅读 2.6k
2 个回答
风逐蓝天
  • 2.5k
✓ 已被采纳

1、在外面判断有值是因为你上一行赋值了呀。

session('uniqid',$_uniqid);

2、检查配置文件中,SESSION_AUTO_START 是不是开启了。

3、检查 session_save_path() 的文件路径是否有写入权限。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏