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');
}
创建数据库,配置数据库
根据自己的需求建立数据表连接,并在配置文件里配置数据库。就可以实现登录功能了。
自取:
网盘链接:https://pan.baidu.com/s/1tZkzdf0zXJlvj7SsSANxsQ
提取码:2gjv