## 說明
>[info]#### 模型,主要是對數據庫進行操作,進行增刪改查,是用來處理數據,邏輯處理的。
在用戶登錄當中,只用到了一個模型類,我們在 ```application\index\model``` 文件夾下面,新建一個名為```User.php``` 的文件,```User```與數據庫里的```tp_user```是一一對應的,如圖所示:

```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)源碼下載