Home  >  Article  >  Backend Development  >  Code sharing for ThinkPHP to implement login and logout functions

Code sharing for ThinkPHP to implement login and logout functions

小云云
小云云Original
2018-02-10 13:07:23953browse

This article mainly introduces the login and logout functions of ThinkPHP in detail. It has certain reference value. Interested friends can refer to it. I hope it can help everyone.


<?php 
/**
 * 用户登陆与退出
 * 注册成功后,将页面跳转到login登陆页面
 * 当数据提交到登陆页面后,必须先执行验证码验证通过再执行登陆操作
 */
public function checkyzm($yzm){
 $verify=new \Think\Verify();//实例化TP自带的Verify方法
 if($verify->check($yzm)){//调用check方法
  return true;
 }else{
  echo &#39;验证码错误&#39;;
  exit();
 }
}

public function login(){
 if(!IS_POST){
  $this->display();
 }else{
  //若验证码验证通过
  if($this->checkyzm(I(&#39;post.yzm&#39;))){
   $username=I(&#39;post.username&#39;);
   $user=D( &#39; user &#39; )->where(" username=&#39;$username&#39; ")->find();
   //post过来的password拼接盐md5后密码=数据库的密码,则通过
   if(md5( I( &#39; post.password &#39; ) . $user[ &#39; salt &#39; ])===$user[&#39;password&#39;]{
    cookie(&#39;username&#39; , $userp[ &#39; username &#39; ]);//写入cookie
    $this->redirect(&#39;/&#39;);//跳转到首页
   }else{
    echo &#39;用户名或密码不对&#39;;
   }
  }
 }
}


/**V层
 * 退出登陆
 * 读取cookie $Think.cookie
 */
//若没有cookie数据
您好欢迎观临
<if condition="$Think.cookie.username eq null">
<a href="{:U(&#39;Home/User/login&#39;)}" rel="external nofollow" rel="external nofollow" style="color:#50884b">登陆</a> |
<a href="{:U(&#39;Home/User/reg&#39;)}" rel="external nofollow" style="color:#50884b">免费注册</a> |
<else />
{$Think.cookie.username}|
<<a href="{:U(&#39;Home/User/login&#39;)}" rel="external nofollow" rel="external nofollow" style="color:#50884b">退出</a>
 </if>


 /**
 * 退出方法
 * 1,cookie设为null,删除cookie
 * 2. 跳转到首页
 */
 public function logout(){
  cookie(&#39;username&#39; , null);
  $this->redirect(&#39;/&#39;);
 }

 ?>}

Related recommendations:

How to implement the automatic login and login and exit functions of Yii2 framework

The above is the detailed content of Code sharing for ThinkPHP to implement login and logout functions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn