登陆

thinkphp5.1学习时遇到session问题

哪们大神知道我在控制器中加入了session:set()后,该方法失效并且不报错,帮我看看这是什么缘故,我用的是phpstudy部署apache服务器!

代码如下:

<?phpnamespace app\index\controller;
use app\index\controller\Base;use think\Request;

use app\index\model\User as UserModel;

use think\Session;
class User extends Base{
    // 登录页面

    function login()    {

        return $this->view->fetch();    

}
    // 用户数据验证

    function checkLogin(Request $request)    { 

       $status = 0;

        $result = "";

        $data = $request->param();

        $rule = [ 'name|用户名' => 'require',  'password|密码' => 'require',         'verify|验证码' => 'require|captcha'        ];
        $result = $this->validate($data, $rule); // 验证用户名和密码等是否为空 

       if ($result === true) { 

           $map = [ 

               'name' => $data['name'], 

               'password' => md5($data['password']) 

           ];

            $user = UserModel::get($map);

            if ($user == NULL) { 

               $result = '用户名或密码错误'; 

           } else {

                $status = 1; 

               $result = "登录成功";  

               session::set('id', $user->id); 

                session::set('user_info', $user->getdata());

            }

        }

        return ['status' => $status, 'message' => $result,  'data' => $data        ];

    }
}

# PHP
清风新影清风新影52 天前181 次浏览

全部回复(5)我要回复

  • lk

    lk2020-01-15 18:39:55

    哈哈哈,静态引用要用门脸think/faced/session

    回复
    0
  • 有什么是忘不了的。

    有什么是忘不了的。2020-01-07 19:34:31

    我感觉是你的session::set('user_info', $user->getdata());出的错。$user->getdata()中的getdata应该是getData吧

    image.png

    回复
    0
  • 刀刀

    刀刀2020-01-02 10:05:31

    你解决了吗?

    我也是这个问题了

    回复
    0
  • ringa_lee

    ringa_lee2020-01-01 14:11:02

    你的配置中是否开启了session?

    回复
    0
  • 清风新影

    config目录下session.PHP开启,php.ini的session.auto_start=1

    清风新影 · 2020-01-01 18:07:01
  • 取消回复发送