thinkphp5에서 백엔드 로그인 인터페이스를 구현하는 방법

풀어 주다: 2020-05-15 09:15:49
앞으로
8799명이 탐색했습니다.

thinkphp5에서 백엔드 로그인 인터페이스를 구현하는 방법

1. "thinkphp_5.0.24_with_extend"(E)에 "tp5" 압축을 푼다.

2. 압축을 푼 "tp5 폴더"를 "demo(다른 이름을 지정할 수 있음)"로 이름을 바꿉니다. 데모 폴더를 WWW 디렉토리에 복사합니다.

3. 브라우저에 "http://127.0.0.1/demo/public"을 입력합니다. tp5를 사용할 수 있는지 확인합니다.

4. 가져왔습니다);

5 애플리케이션 폴더에서 —>관리자 폴더에서 —>컨트롤러 폴더에서

모델 및 뷰 폴더를 각각 생성합니다. >Login.php 생성;

D:phpStudyWWWdemoapplicationadmincontrollerLogin.php

Content

<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Login as Log;
class Login extends Controller
{
    public function index()
    {
        // $linkres= \think\Db::name(&#39;link&#39;)->paginate(3);
        // $this->assign(&#39;linkres&#39;,$linkres);
        if(request()->isPost()){
            $login=new Log;
            $status=$login->login(input(&#39;username&#39;),input(&#39;password&#39;));
            if($status==1){
                return $this->success(&#39;登录成功,正在跳转!&#39;,&#39;Index/index&#39;);
            }elseif($status==2){
                return $this->error(&#39;账号或者密码错误!&#39;);
            }else{
                return $this->error(&#39;用户不存在!&#39;);
            }
        }
        return $this->fetch(&#39;login&#39;);
    }
 
    public function logout(){
        session(null);
        return $this->success(&#39;退出成功!&#39;,url(&#39;index&#39;));
    }
 
 
}
로그인 후 복사

6. 모델 폴더에서 —>Login.php 파일 생성

D:phpStudyWWWWdemoapplicationadminmodelLogin.php

콘텐츠:

<?php
namespace app\admin\model;
use think\Model;
class Login extends Model
{
    public function login($username,$password){
        $admin= \think\Db::name(&#39;admin&#39;)->where(&#39;username&#39;,&#39;=&#39;,$username)->find();
        if($admin){
            if($admin[&#39;password&#39;]==md5($password)){
                \think\Session::set(&#39;id&#39;,$admin[&#39;id&#39;]);
                \think\Session::set(&#39;username&#39;,$admin[&#39;username&#39;]);
                return 1;
            }else{
                return 2;
            }
 
        }else{
            return 3;
        }
    }
}
로그인 후 복사

7. 보기 폴더에서 —>로그인 폴더 생성 —>로그인 폴더에서 —>login.html 파일 생성

D:phpStudyWWWdemoapplicationadminviewLoginlogin.html

Content:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>后台登录</title>
    <link href="__PUBLIC__/static/admin/css/admin_login.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="admin_login_wrap">
    <h1>后台管理</h1>
    <div class="adming_login_border">
        <div class="admin_input">
            <form action="" method="post">
                <ul class="admin_items">
                    <li>
                        <label for="user">用户名:</label>
                        <input type="text" name="username" value="admin" id="user" size="35" class="admin_input_style" />
                    </li>
                    <li>
                        <label for="pwd">密码:</label>
                        <input type="password" name="password" value="admin" id="pwd" size="35" class="admin_input_style" />
                    </li>
                    <li>
                        <input type="submit" tabindex="3" value="提交" class="btn btn-primary" />
                    </li>
                </ul>
            </form>
        </div>
    </div>
</div>
</body>
</html>
로그인 후 복사

8 .D:phpStudyWWWWdemoapplicationconfig.php

// 应用调试模式
 &#39;app_debug&#39;              => false,
로그인 후 복사

수정 :

&#39;app_debug&#39;              => true,
로그인 후 복사

버그가 보이실 겁니다!

템플릿 파일이 존재하지 않습니다: D:phpStudyWWWdemopublic/../application/adminviewloginlogin.html

보기에 있는 로그인 파일 이름이 잘못되었습니다! ! ! *Login.php의 컨트롤러 및 모델 아래에서는 Login을 대문자로 입력하고, view 아래의 login.html에서는 소문자 Login!을 입력하세요.

SQLSTATE[HY000] [1045] 'root'@'localhost' 사용자에 대한 액세스가 거부되었습니다(비밀번호 사용: NO). 버그는 데이터베이스에 연결되어 있지 않다는 것입니다.

D:phpStudyWWWdemoapplicationdatabase.php

내용을 입력하세요

return [
    // 数据库类型
    &#39;type&#39;            => &#39;mysql&#39;,
    // 服务器地址
    &#39;hostname&#39;        => &#39;127.0.0.1&#39;,
    // 数据库名
    &#39;database&#39;        => &#39;youme&#39;, //你创建或导入的数据库名
    // 用户名
    &#39;username&#39;        => &#39;root&#39;,
    // 密码
    &#39;password&#39;        => &#39;****&#39;,
    // 端口
    &#39;hostport&#39;        => &#39;&#39;,
    // 连接dsn
    &#39;dsn&#39;             => &#39;&#39;,
    // 数据库连接参数
    &#39;params&#39;          => [],
    // 数据库编码默认采用utf8
    &#39;charset&#39;         => &#39;utf8&#39;,
    // 数据库表前缀
    &#39;prefix&#39;          => &#39;ym_&#39;,  // 你创建或导入数据库表名的前缀
 
 
*****************************************************************************************
  SQLSTATE[42S02]: Base table or view not found: 1146 Table &#39;youhe.admin&#39; doesn&#39;t exist(Bug)
로그인 후 복사

D:phpStudyWWWWdemoapplicationadminmodelLogin .php

<?php
namespace app\admin\model;
use think\Model;
class Login extends Model
{
    public function login($username,$password){
//        $admin= \think\Db::name(&#39;admin&#39;)->where(&#39;username&#39;,&#39;=&#39;,$username)->find();
        $user= \think\Db::name(&#39;user&#39;)->where(&#39;username&#39;,&#39;=&#39;,$username)->find();
//        if($admin){
        if($user){
//            if($admin[&#39;password&#39;]==md5($password)){
            if($user[&#39;password&#39;]==$password){
//                \think\Session::set(&#39;id&#39;,$admin[&#39;id&#39;]);
                \think\Session::set(&#39;id&#39;,$user[&#39;id&#39;]);
//                \think\Session::set(&#39;username&#39;,$admin[&#39;username&#39;]);
                \think\Session::set(&#39;username&#39;,$user[&#39;username&#39;]);
                return 1;
            }else{
                return 2;
            }
        }else{
            return 3;
        }
    }
}
로그인 후 복사

추천 튜토리얼: "

TP5

"

위 내용은 thinkphp5에서 백엔드 로그인 인터페이스를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿