TP5框架實現登錄功能
安裝TP框架
使用最簡單的安裝方式,直接從官網下載解壓,將壓縮包裏的文件複製到項目目錄下。
管網地址:http://www.thinkphp.cn/down.html
安裝完框架的目錄如圖所示
添加控制器
在application\index\controller目錄下新建Login.php,主要用來實現登錄功能的業務邏輯。代碼如下:
<?php
namespace app\Index\controller;
use think\Controller;
use app\index\model\Admin;
class Login extends Controller
{
public function index()
{
return $this->fetch('login');
}
}
創建登錄模型
在這我用的是事先準備好的自適應的登錄頁面只需要將HTML文件、CSS文件和JS文件導入相應的位置並且配置常亮用來引入樣式的文件路徑。(需要登錄頁面模板的可以評論郵箱)
- 將login.html放入index模塊下view\login文件下。如果沒有此文件新建相應文件即可。
- 將準備好的fonts、style文件放入public\static\index目錄下(如果沒有此文件新建相應文件即可)。
- 導入好的目錄爲:
導入完文件之後的頁面是:
現在雖然我們可以顯示頁面但是頁面的樣式還沒有成功引入進來。
配置常亮引入樣式文件
- 在public文件下的index.php中定義常量
define('SITE_URL','http://127.0.0.1/tptest');
- 在application\index下新建配置文件config.php,並且配置常量。
<?php
return [
'view_replace_str' =>[
'__PUBLIC__'=>SITE_URL.'/public/static/index',
],
];
- 在login.html裏面添加常量引入樣式文件,代碼:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><!--Head--><head>
<meta charset="utf-8">
<title>登錄</title>
<meta name="description" content="login page">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--Basic Styles-->
<link href="__PUBLIC__/style/bootstrap.css" rel="stylesheet">
<link href="__PUBLIC__/style/font-awesome.css" rel="stylesheet">
<!--Beyond styles-->
<link id="beyond-link" href="__PUBLIC__/style/beyond.css" rel="stylesheet">
<link href="__PUBLIC__/style/demo.css" rel="stylesheet">
<link href="__PUBLIC__/style/animate.css" rel="stylesheet">
</head>
<!--Head Ends-->
<!--Body-->
<body>
<div class="login-container animated fadeInDown">
<form action="" method="post">
<div class="loginbox bg-white">
<div class="loginbox-title">SIGN IN</div>
<div class="loginbox-textbox">
<input value="admin" class="form-control" placeholder="username" name="username" type="text">
</div>
<div class="loginbox-textbox">
<input class="form-control" placeholder="password" name="password" type="password">
</div>
<div class="loginbox-submit">
<input class="btn btn-primary btn-block" value="Login" type="submit">
</div>
</div>
<div class="logobox">
<p class="text-center">第一個登錄頁面</p>
</div>
</form>
</div>
<!--Basic Scripts-->
<script src="__PUBLIC__/style/jquery.js"></script>
<script src="__PUBLIC__/style/bootstrap.js"></script>
<script src="__PUBLIC__/style/jquery_002.js"></script>
<!--Beyond Scripts-->
<script src="__PUBLIC__/style/beyond.js"></script>
</body><!--Body Ends--></html>
- 填完之後的頁面是:
後臺代碼實現
- 數據處理M層,在index模塊下model文件夾下新建Admin.php,代碼如下:
namespace app\index\model;
use think\Model;
use think\Db;
class Admin extends Model
{
public function login($data){
$user=Db::name('admin')->where('username','=',$data['username'])->find();
if($user){
if($user['password'] == md5($data['password'])){
session('username',$user['username']);
session('uid',$user['id']);
return 3; //信息正確
}else{
return 2;//密碼錯誤
}
}else{
return 1;//用戶不存在
}
}
}
- C層修改代碼實現業務邏輯,Login.php代碼如下:
<?php
namespace app\Index\controller;
use think\Controller;
use app\index\model\Admin;
class Login extends Controller
{
public function index(){
if(request()->isPost()){
$admin=new Admin();
$data=input('post.');
$num=$admin->login($data);
if($num==3){
$this->success('信息正確,正在爲您跳轉','index/index');
}else{
$this->error('用戶名或密碼錯誤');
}
}
}
return $this->fetch('login');
}
創建數據庫,配置數據庫
根據自己的需求建立數據表連接,並在配置文件裏配置數據庫。就可以實現登錄功能了。
如果想獲取數據庫文件或頁面模板可以評論郵箱,會私信發給你