ホームページ > バックエンド開発 > PHPチュートリアル > ThinkPHPのログイン・ログアウト関数コードの詳細説明

ThinkPHPのログイン・ログアウト関数コードの詳細説明

巴扎黑
リリース: 2023-03-15 09:06:01
オリジナル
3492 人が閲覧しました

この記事では主に ThinkPHP のログインと終了機能を詳しく紹介します。興味のある方は参考にしてください。

この記事の例では、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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート