点击退出之后登录发现有问题

点击退出之后登录发现有问题

http://img1.sycdn.imooc.com//climg/5a13f9c30001c1e215610418.jpg

点击退出后,url是logout.html,之后输入账号密码,显示登陆成功,但头部不显示用户名,url这个时候还是logout.html,这是什么问题?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
guly 2017-11-22 11:46:48

你好,点击退出时应该有跳转的页面。方法为:

public function logout() {
  session('user', null);
  unset($_SERVER['HTTP_X_REQUESTED_WITH']);
  $this->success('退出成功', 'topic/index');
}

如果解决您的问题请采纳,祝学习愉快!

  • public function logout(){ session('user',null); echo $this->fetch('login',['user'=>session('user')]);} 您这个方法可以,但是为什么视频中老师的代码可以,我们打上去就不行? 我点击’退出‘时不应该是调用logout方法的吗?为什么logout方法里的 echo $this->fetch('login',['user'=>session('user')]); 不起作用?
    2018-05-12 17:53:21
  • guly 回复 慕虎2593245 #2
    你好,退出后建议您检查您的session值是否存在,
    2018-05-13 02:23:29
提问者 qq_随心飞扬_1 2017-11-22 10:59:18

----------------------login 方法--------------------------------------------------------

public function login(){

    if (request()->isPost()) {

    $login=input('post.login');

    $password=input('post.password');

    $cond=[];

    $cond['name|email']=$login;

    $cond['password']=md5(md5($password));

    $user=user::get($cond);

    if ($user) {

    session('user',$user);

    return $this->success('恭喜!登陆成功!');

    }

    return $this->error('抱歉,登陆失败!');

    }

    return $this->fetch('login',['user'=>session('user')]);

    }

----------------------logout方法--------------------------------------------------------

public function logout(){

    session('user',null);

    echo $this->fetch('login',['user'=>session('user')]);


    }


imooc_澈 2017-11-21 18:56:47

您好:

第一,检查一下您目前的退出功能代码,应该是退出登录后,您并没有跳转方法,依然还是在logout方法里,获取了登录页面。

第二,查看您的登录页面form表单提交,当填好用户名和密码点击登录时,它应该提交到login方法当中去,此时url地址是要改变的,除非您登录和退出都写在logout方法当中,我们的url地址会随访问方法改变。

第三,登录成功,用户名不显示,找到页面的用户名变量打印看看,如果没有值,就要检查登录操作中有咩有将用户登录数据保存在session里并assign过来。

如果问题还是解决不了,请复制粘贴您login 方法 ,logout方法代码以及页头代码,小慕在本地替换看一下。

如果解决了您的问题,请采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师