首页 > 编程 > PHP > 正文

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

2020-03-22 17:09:12
字体:
来源:转载
供稿:网友

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

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

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

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

Login

// 如果是post请求,即从登录页面过来的数据 则判断用户名和密码是否正确
账号密码与随机生成的数字拼接,使用MD5加密

// 如果不是post,判断session中是否有登录信息
有 跳转到登录后的页面
没有 跳转到登录页面

html' target='_blank'>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-  //session保存用户信息 赋值bis作用域 session( BisAccount , $ret, bis  return $this- success( 登录成功 ,url( Index/index  } else { $account = session( BisAccount , , bis  if(!empty($account) $account- id){ return $this- redirect(url( index/index  return $this- fetch(); //注销 public function logout(){ session( null, bis  $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 , , bis  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

以上就是php实现用户登录与注销的代码示例的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表