>  기사  >  백엔드 개발  >  ThinkPHP를 이용한 로그인, 로그아웃 예시에 대한 자세한 설명 공유

ThinkPHP를 이용한 로그인, 로그아웃 예시에 대한 자세한 설명 공유

零下一度
零下一度원래의
2017-07-02 11:42:021306검색

본 글에서는 ThinkPHP의 Login Logout 기능을 주로 소개합니다.

본 글의 예시는 참고용으로 로그인, 로그아웃 기능을 구현한 ThinkPHP의 구체적인 코드를 공유하고 있습니다.


<?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;);
 }

 ?>}

위 내용은 ThinkPHP를 이용한 로그인, 로그아웃 예시에 대한 자세한 설명 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.