Heim > PHP-Framework > Denken Sie an PHP > So implementieren Sie die Backend-Anmeldeschnittstelle in thinkphp5

So implementieren Sie die Backend-Anmeldeschnittstelle in thinkphp5

Freigeben: 2020-05-15 09:15:49
nach vorne
8868 Leute haben es durchsucht

So implementieren Sie die Backend-Anmeldeschnittstelle in thinkphp5

1. Entpacken Sie das komprimierte „tp5“-Paket nach „thinkphp_5.0.24_with_extend“(E);

2. Legen Sie den entpackten „tp5-Ordner“ ab –> Benennen Sie es in „demo“ um (Sie können ihm einen anderen Namen geben). Kopieren Sie den Demo-Ordner in das WWW-Verzeichnis.

3 Geben Sie „http://127.0.0.1/demo/public“ ein Browser –> Überprüfen Sie, ob tp5 verwendet werden kann.

4. Erstellen oder importieren Sie eine Datenbank ;Im Admin-Ordner – >Controller erstellen,

Modell bzw. Ansichtsordner –>Im Controller-Ordner – >Login.php erstellen

D:phpStudyWWWdemoapplicationadmincontrollerLogin .php

Inhalt

<?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;));
    }
 
 
}
Nach dem Login kopieren

6. Im Modellordner –>Erstellen Sie die Datei Login.php

D:phpStudyWWWdemoapplicationadminmodelLogin.php

Inhalt:

<?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;
        }
    }
}
Nach dem Login kopieren

7. Im Ansichtsordner –>Erstellen Sie den Login-Ordner –>Im Login-Ordner –>Erstellen Sie die Datei login.html

D:phpStudyWWWdemoapplicationadminviewLoginlogin.html

Inhalt:

<!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>
Nach dem Login kopieren

8.D:phpStudyWWWdemoapplicationconfig.php

// 应用调试模式
 &#39;app_debug&#39;              => false,
Nach dem Login kopieren

geändert zu:

&#39;app_debug&#39;              => true,
Nach dem Login kopieren

und Sie können den Fehler sehen!

Die Vorlagendatei existiert nicht:D:phpStudyWWWdemopublic/../application/adminviewloginlogin.html

Der angezeigte Anmeldedateiname ist falsch! ! ! *In Login.php unter Controller und Modell „Login“ groß schreiben und

in „login.html“ unter „Ansicht“ „Login“ in Kleinbuchstaben schreiben!

SQLSTATE[HY000] [1045] Zugriff verweigert für Benutzer 'root'@'localhost' (mit Passwort: NEIN) Der Fehler besteht darin, dass keine Verbindung zur Datenbank besteht

D:phpStudyWWWdemoapplicationdatabase .php

Füllen Sie den Inhalt aus

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)
Nach dem Login kopieren

D:phpStudyWWWdemoapplicationadminmodelLogin.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;
        }
    }
}
Nach dem Login kopieren

Empfohlenes Tutorial: „

TP5

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Backend-Anmeldeschnittstelle in thinkphp5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage