1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php实现用户登录与注销的代码示例

php实现用户登录与注销的代码示例

时间:2022-04-10 07:48:52

相关推荐

php实现用户登录与注销的代码示例

后端开发|php教程

php

后端开发-php教程

小猪cms源码使用教程,vscode设置格式化,启动ubuntu桌面,tomcat和程序打包,爬虫软件阅读,php 服务器跳转,杭州seo推广软件有哪些,简单带数据库的网站模版,edusoho 模板修改lzw

源码中国后台管理系统,什么事ubuntu,本地爬虫是什么,php sql 降序,西安主词seolzw

本篇文章给大家带来的内容是关于php实现用户登录与注销的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

网狐经典版源码,Vscode例化,小米电视怎么连接ubuntu,tomcat包设置,sqlite怎么登陆,登录验证码插件,cobol支持的前端框架,网络爬虫 下载图片,用户注册 php,青岛SEO服务行业,jq特效网站大全,新春祝福网页,html视频 图片模板,后台审核留言页面代码,高校学生信息管理系统后台模板,微擎淘宝客导购小程序lzw

之前虽然写过登录的功能,但是注销还没有认真的看过。特此记录

当点击登录时,把用户账号信息以变量的形式存在定义的作用域(session)。session代表一次会话,只要你不关闭当前浏览器他的值就会存在,默认20分钟左右。

// BisAccount变量名, $ret用户账号信息 ,赋值bis作用域session(‘BisAccount’, $ret, ‘bis’);// 删除 bis作用域session( null,‘bis’);//取值 在bis作用域,名为BisAccount的值session(‘BisAccount’, ‘’, ‘bis’);

Login

//如果是post请求,即从登录页面过来的数据 则判断用户名和密码是否正确

账号密码与随机生成的数字拼接,使用MD5加密

//如果不是post,判断session中是否有登录信息

有 跳转到登录后的页面

没有 跳转到登录页面

class Login extends Controller{//登录 public function index() { if (request()->isPost()) { $data = input(post.); $ret = model(BisAccount)->get([username=>$data[username]]); if(empty($ret) || $ret->status != 1){$this->error(该用户不存在或者未审核通过); } $pass = $data[password]; $ran = $ret[code]; if(md5($pass."".$ran) != $ret[password]){$this->error(密码错误); } model(BisAccount)->updateById([last_login_time=>time()],$ret->id); //session保存用户信息 赋值bis作用域 session(BisAccount, $ret, is); return $this->success(登录成功,url(Index/index)); } else { $account = session(BisAccount,\,is); if(!empty($account) && $account->id){return $this->redirect(url(index/index)); } return $this->fetch(); } }//注销 public function logout(){ session( null,is); $this->redirect(url(login/index)); }}

登录后的页面

Base

判断session中是否有BisAccount

有,说明登录状态

没有,重定向到登录页面

class Base extends Controller{ public $account; public function _initialize() { // 判定用户是否登录 $isLogin = $this->isLogin(); if(!$isLogin) { return $this->redirect(url(login/index)); } } //判定是否登录 public function isLogin() { // 获取sesssion $user = $this->getLoginUser(); if($user && $user->id) { return true; } return false; } public function getLoginUser() { if(!$this->account) { $this->account = session(BisAccount, \, is); } return $this->account; }}

Index

主页 继承自 Base 。如果账号注销后,再次访问index/index,则会走Base中_initialize初始化方法,

判断bis作用域中是否有BisAccount从而跳转到登录页面,而不会访问到登录后的页面。

登录后,访问index/index 与 login/index 返回相同的页面。

class Index extends Base{ public function index() { return $this->fetch(\); } }

tip: 如果存入的Session名称为A,取Session时也要取A

//存session(‘BisAccount’, $ret, ‘bis’);//取session(‘BisAccount’, ‘’, ‘bis’);

都是BisAccount

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。