ホームページ PHPフレームワーク ThinkPHP thinkphp5 でバックエンド ログイン インターフェイスを実装する方法

thinkphp5 でバックエンド ログイン インターフェイスを実装する方法

May 15, 2020 am 09:15 AM
thinkphp5

thinkphp5 でバックエンド ログイン インターフェイスを実装する方法

1. 「tp5」圧縮パッケージを「thinkphp_5.0.24_with_extend\」に解凍します(E);

2. 解凍した「tp5 フォルダー」を置きます— &gt ;「demo」の名前を変更します (他の名前を付けることもできます) -> デモ フォルダーを WWW ディレクトリにコピーします;

3. ブラウザに「http://127.0.0.1/demo/public」と入力します。 —> tp5 が使用できるかどうかを確認します;

4. データベースを作成またはインポートします (私はインポートしました);

5. アプリケーション フォルダー内 —> 管理フォルダーを作成します —> ;管理フォルダー内 - > コントローラー フォルダー、

モデル フォルダー、およびビュー フォルダーをそれぞれ作成します - > コントローラー フォルダー内 - > Login.php を作成します;

D: \phpStudy\WWW \demo\application\admin\controller\Login.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('link')->paginate(3);
        // $this->assign('linkres',$linkres);
        if(request()->isPost()){
            $login=new Log;
            $status=$login->login(input('username'),input('password'));
            if($status==1){
                return $this->success('登录成功,正在跳转!','Index/index');
            }elseif($status==2){
                return $this->error('账号或者密码错误!');
            }else{
                return $this->error('用户不存在!');
            }
        }
        return $this->fetch('login');
    }
 
    public function logout(){
        session(null);
        return $this->success('退出成功!',url('index'));
    }
 
 
}
ログイン後にコピー

6. モデル フォルダーで、>Login.php ファイルを作成します

D:\ phpStudy\WWW\demo\application\admin\model\Login.php

Content:

<?php
namespace app\admin\model;
use think\Model;
class Login extends Model
{
    public function login($username,$password){
        $admin= \think\Db::name('admin')->where('username','=',$username)->find();
        if($admin){
            if($admin['password']==md5($password)){
                \think\Session::set('id',$admin['id']);
                \think\Session::set('username',$admin['username']);
                return 1;
            }else{
                return 2;
            }
 
        }else{
            return 3;
        }
    }
}
ログイン後にコピー

7. ビュー フォルダー内 -> ログイン フォルダーを作成します -> ログイン フォルダー内—>login.html ファイルを作成します。

D:\phpStudy\WWW\demo\application\admin\view\Login\login.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:\phpStudy\WWW\demo\application\config.php

// 应用调试模式
 'app_debug'              => false,
ログイン後にコピー

これを

'app_debug'              => true,
ログイン後にコピー

に変更すると、バグが表示されます。

テンプレート ファイルが存在しません: D:\phpStudy\WWW\demo\public/../application/admin\view\login\login.html

ビュー内のログイン ファイル名間違っている! ! ! *コントローラーとモデルの下の Login.php では大文字の Login を使用し、ビューの下の login.html では小文字の Login を使用してください。

SQLSTATE[HY000] [1045] ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: NO) データベースへの接続がないためにバグが発生します

D:\ phpStudy\WWW\demo\application\database.php

内容を入力

return [
    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'youme', //你创建或导入的数据库名
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => '****',
    // 端口
    'hostport'        => '',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => 'ym_',  // 你创建或导入数据库表名的前缀
 
 
*****************************************************************************************
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'youhe.admin' doesn't exist(Bug)
ログイン後にコピー

D:\phpStudy\WWW\demo\application\admin\model\Login.php

<?php
namespace app\admin\model;
use think\Model;
class Login extends Model
{
    public function login($username,$password){
//        $admin= \think\Db::name('admin')->where('username','=',$username)->find();
        $user= \think\Db::name('user')->where('username','=',$username)->find();
//        if($admin){
        if($user){
//            if($admin['password']==md5($password)){
            if($user['password']==$password){
//                \think\Session::set('id',$admin['id']);
                \think\Session::set('id',$user['id']);
//                \think\Session::set('username',$admin['username']);
                \think\Session::set('username',$user['username']);
                return 1;
            }else{
                return 2;
            }
        }else{
            return 3;
        }
    }
}
ログイン後にコピー

推奨チュートリアル: 《

TP5

以上がthinkphp5 でバックエンド ログイン インターフェイスを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Pagoda に thinkphp5 をデプロイするときにエラーが発生した場合はどうすればよいですか? Pagoda に thinkphp5 をデプロイするときにエラーが発生した場合はどうすればよいですか? Dec 19, 2022 am 11:04 AM

Pagoda に thinkphp5 をデプロイするときにエラーが発生した場合はどうすればよいですか?

thinkphp5 post が値を取得できない場合はどうすればよいですか? thinkphp5 post が値を取得できない場合はどうすればよいですか? Dec 06, 2022 am 09:29 AM

thinkphp5 post が値を取得できない場合はどうすればよいですか?

thinkphp5でリクエストされたURLを取得する方法 thinkphp5でリクエストされたURLを取得する方法 Dec 20, 2022 am 09:48 AM

thinkphp5でリクエストされたURLを取得する方法

thinkphp5 の URL 書き換えが失敗した場合はどうすればよいですか? thinkphp5 の URL 書き換えが失敗した場合はどうすればよいですか? Dec 12, 2022 am 09:31 AM

thinkphp5 の URL 書き換えが失敗した場合はどうすればよいですか?

thinkphp5のタイトルバーアイコンを削除する方法 thinkphp5のタイトルバーアイコンを削除する方法 Dec 20, 2022 am 09:24 AM

thinkphp5のタイトルバーアイコンを削除する方法

thinkphp5 がコントローラーが存在しないというメッセージを表示した場合はどうすればよいですか? thinkphp5 がコントローラーが存在しないというメッセージを表示した場合はどうすればよいですか? Dec 06, 2022 am 10:43 AM

thinkphp5 がコントローラーが存在しないというメッセージを表示した場合はどうすればよいですか?

ThinkPHP5 で昨日のデータをクエリする方法 ThinkPHP5 で昨日のデータをクエリする方法 Dec 05, 2022 am 09:20 AM

ThinkPHP5 で昨日のデータをクエリする方法

thinkphp5 でエラー プロンプトを設定する方法 thinkphp5 でエラー プロンプトを設定する方法 Dec 07, 2022 am 10:31 AM

thinkphp5 でエラー プロンプトを設定する方法

See all articles