我有一个现有的PHP MYSQL登录系统。我想记录每个用户登录的历史记录,包括失败的尝试。
我想捕获有关历史的以下数据:
如何在不更改整个现有登录系统的情况下执行此操作?
答案 0 :(得分:6)
使用该信息创建一个新表,并在用户登录时插入...
CREATE TABLE `login_info` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 50 ) NOT NULL ,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`success` ENUM( 'yes', 'no' ) NOT NULL
);
我不明白为什么你需要分开时间和日期...
答案 1 :(得分:1)
看起来您还需要对OO代码有基本的了解...创建一个名为login_info的新表,其字段为Mihai的答案,然后假设您的登录方法是用户类的一部分 - 创建一个插入行的方法每次尝试登录时都会进入此表。例如:
class user {
function login() {
$this->login_attempt();
// your login code
}
function login_attempt() {
// insert into your login_info table
}
}
这会使您的日志与登录代码分开。