ホームページ >PHPフレームワーク >ThinkPHP >thinkphp5 でバックエンド ログイン インターフェイスを実装する方法
1. 「tp5」圧縮パッケージを「thinkphp_5.0.24_with_extend\」に解凍します(E);
2. 解凍した「tp5 フォルダー」を置きます— > ;「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 サイトの他の関連記事を参照してください。