## 说明
>[info]#### 模型,主要是对数据库进行操作,进行增删改查,是用来处理数据,逻辑处理的。
在用户登录当中,只用到了一个模型类,我们在 ```application\index\model``` 文件夹下面,新建一个名为```User.php``` 的文件,```User```与数据库里的```tp_user```是一一对应的,如图所示:
![](https://box.kancloud.cn/1f806842a3366b47ad6d48c5a8053436_386x316.png)
```Use.php```模型类文件里面的内容如下:
```
<?php
/**
* User: ye21st
* Email: ye21st@gmail.com
* Date: 2018/1/17
* Time: 10:30
*/
namespace app\index\model;
use app\index\controller\ResultCode;
use think\Model;
use think\facade\Session;
/**
* User 模型类
* Class User
* @package app\index\model
*/
class User extends Model
{
/**
* 登录操作
* @param $username $string 用户名
* @param $password $password 密码
* @return int $code 返回码
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function login($username,$password){
$userData = User::where('username','eq',$username) ->find();
// 如果查找到数据
if ( $userData ){
// 获取该用户信息对应的盐值
$salt = $userData['salt'];
// 将密码进行 MD5 加密,将其与数据库中的密码字符串作对比,看看匹不匹配
$newPassword = md5($password.$salt);
if ( $userData['password'] == $newPassword ){
// 获得用户所在ID
$id = $userData['id'];
// 设置session,用于首页访问,不存在,则返回到登录页面
Session::set('id',$id);
Session::set('name',$username);
return ResultCode::$LOGIN_SUCCESS;
}else{
return ResultCode::$PASSWORD_ERROR; // 密码错误
}
}else{
return ResultCode::$USER_DOES_NOT_EXIST; // 该用户不存在
}
}
}
```
>[info] 至此,关于用户登录,数据处理,逻辑处理部分,就做完了。
- 序言
- 文档更新状态
- 错误提交
- 零、前期准备
- (1)PHP开发环境
- (2)PHP开发工具
- (3)数据库相关
- (4)ThinkPHP5.1完全开发手册
- (5)URL优化
- 一、用户登录
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - M(模型)
- (5)MVC - C(控制器)
- (6)源码下载
- 二、无限极分类
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - M(模型)
- (5)验证器
- (6)MVC - C(控制器)
- (7)源码下载
- 三、TP5.1开发API接口,实现前后端分离
- (1)数据表设计
- (2)项目配置
- (3)HTML纯静态页面
- (4)MVC - M(模型)
- (5)MVC - C(控制器)
- (6)源码下载
- 四、TP5调用 API 接口
- (1)项目配置
- (2)MVC - V(视图)
- (3)MVC - C(控制器)
- (4)源码下载
- 五、文章分页以及修改分页样式
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - M(模型)
- (5)MVC - C(控制器)
- (6)自定义分页类
- (7)源码下载
- 六、修改默认跳转页面
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - M(模型)
- (5)验证器
- (6)MVC - C(控制器)
- (7)自定义跳转页面
- (8)源码下载
- 七、整合markdown在线编辑器
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - C(控制器)
- (5)源码下载
- 八、整合PHPExcel导入导出功能
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - C(控制器)
- (5)源码下载
- 九、整合Echarts
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - C(控制器)
- (5)源码下载
- 十、接入AntV G2(可视化图形)
- (1)数据表设计
- (2)项目配置
- (3)MVC - V(视图)
- (4)MVC - C(控制器)
- (5)源码下载