PHP MySQL存储登录历史记录

时间:2011-08-04 08:22:12

标签: php mysql login

我有一个现有的PHP MYSQL登录系统。我想记录每个用户登录的历史记录,包括失败的尝试。

我想捕获有关历史的以下数据:

  1. 使用的用户名
  2. 登录时间
  3. 登录日期
  4. 成功 - (由是或否回答)
  5. 如何在不更改整个现有登录系统的情况下执行此操作?

2 个答案:

答案 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
    }
}

这会使您的日志与登录代码分开。