thinkphp 用户登录记录日记
1、设计数据库表名,字段

2,建立模型

<?php namespace app\login\model; use think\Model; class LoginLon extends Model
{
//
protected $table = 'loginLog';
protected $createTime = true;
protected $updateTime = true;
//将用户的登陆的信息入库
public static function log($data)
{
return self::create($data, true);
}
}
3.编写登录日记

<?php namespace app\login\controller; use app\login\model\LoginLon;
use app\login\model\LoginModel;
use think\Controller;
use think\Validate;
use think\View; class Login extends Controller
{
public function login()
{
return view();
} public function loginSuccess()
{
$ip = request()->ip();
$userIp = ip2long($ip);
//接受参数
$data = input();
// 验证参数非空
$rule = [
'account' => 'require',
'password' => 'require',
'code' => 'require'
];
//提示信息
$tips = [
'account.require' => '账号不可以为空',
'password.require' => '密码不可以为空',
'code.require' => '验证码不可以为空' ];
$validate = new Validate($rule, $tips);
$result = $validate->check($data);
if (!$result) {
$this->error($validate->getError(), 'login/login/login');
}
//数据库用户的信息(账号密码与登录的用户进行对比)
$result = LoginModel::loginParams($data);
if ($data['account'] != $result['name']) {
$this->error('账号输入错误', '/login/login/login');
}
if (md5($data['password']) != md5($result['password'])) {
$this->error('密码输入错误', '/login/login/login');
}
if (!captcha_check($data['code'])) {
//验证失败
$this->error('验证码输入错误', '/login/login/login');
};
//添加登录日记
$log = [
'user_id' => $result['id'],
'ip' => $userIp,
'username' => $result['account'] . '登录'
];
$result = LoginLon::log($log);
if ($data) {
session('name', $data['account']);
$this->success('登录成功');
} }
}
4.建立loginlog模型
thinkphp 用户登录记录日记的更多相关文章
- Linux实战案例(4)CentOS清除用户登录记录和命令历史方法
CentOS清除用户登录记录和命令历史方法 清除登陆系统成功的记录[root@localhost root]# echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信 ...
- Linux - 查看用户登录记录
有关用户登录的信息记录在 utmp(/var/run/utmp).wtmp(/var/log/wtmp).btmp(/var/log/btmp) 和 lastlog(/var/log/lastlog) ...
- Linux清除用户登录记录和命令历史方法(个人笔记)
清除登陆系统成功的记录 [root@localhost root]# echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信息 [root@localhost roo ...
- CentOS清除用户登录记录和命令历史方法
清除登陆系统成功的记录 [root@localhost root]# echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信息 [root@localhost roo ...
- iOS开发之记录用户登录状态
iOS开发之记录用户登录状态 我们知道:CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登陆状态.例如微信 ...
- 使用触发器实现记录oracle用户登录失败信息到alert.log日志文件
前面我们说了用oracle自带的审计功能可以实现记录用户登录失败日志到数据表中(链接:http://www.54ok.cn/6778.html).今天我们来分享一下如何把用户登录失败信息记录到aler ...
- 学习记录 java session保存用户登录
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 通过登入IP记录Linux所有用户登录所操作的日志
通过登入IP记录Linux所有用户登录所操作的日志 对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作 ...
- Oracle 中记录用户登录信息
我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...
随机推荐
- VMware网络连接模式(桥接、NAT以及仅主机模式的详细介绍和区别)
VMware 桥接模式 VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(例如图中所示的局域网 ...
- 将string字符串中的换行符进行替换
/** * 方法名称:replaceBlank * 方法描述: 将string字符串中的换行符进行替换为"" * */ public static String replaceBl ...
- IDEA中的.iml文件和.idea文件夹作用和意义
感谢原文作者:LZHHuo 原文链接:https://blog.csdn.net/weixin_41699562/article/details/99552780 .iml文件 idea 对modul ...
- 常用获取inflate的写法
1. //context:上下文, resource:要转换成view对象的layout的id, root:将layout用root(ViewGroup)包一层作为codify ...
- python日志装饰器实现
问题出自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184355 ...
- MySQL MHA 高可用集群部署及故障切换
MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高 ...
- Linux防火墙(iptables/firewalld)
Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...
- python基础——生成器与迭代器
生成器 def func(): print("111") yield 1 print("222") yield 3 print("333") ...
- 【POJ2942】Knights of the Round Table(二分图 点双联通分量)
题目链接 大意 给定\(N\)个点与\(M\)个关系,每个关系表示某两个点间没有直接的边相连,求不在所有奇环上的点的个数. (\(1\le N\le 1e3,1\le M\le 1e6\)) 思路 考 ...
- Appium链接夜神模拟器
参考官方技术文档: http://appium.io/slate/cn/master/ 确保已经安装jdk和adt adb需要配置系统环境变量: D:\adt-bundle-windows-x86_6 ...