Вставить даты в таблицу базы данных MySql? - PullRequest
1 голос
/ 25 января 2012

Я создаю приложение для входа и хочу сохранить дату регистрации пользователя и дату последнего входа в систему, а также ip последнего входа в систему.

При создании таблицы какой тип следует указывать для каждого из этих трех столбцов?

Как мне поступить, когда я добавлю новое имя пользователя и другие данные?

Должен ли я использовать PHP для получения даты регистрации или использовать текущую дату mysql?

Для последней даты входа и ip, как мне это сделать?

Ответы [ 3 ]

1 голос
/ 25 января 2012

При создании таблицы, какой тип я должен дать каждому из этих трех столбцов?

make create_date и last_login_date оба DATETIME 's и last_login_ip a VARCHAR

Должен ли я использовать PHP для получения даты регистрации или использовать текущую дату mysql?

Это не имеет значения, если вы не обязаны не использовать MySQLспециальные функции.

Для последней даты входа и ip, каким образом я могу это сделать?

Когда пользователь входит в систему, запустите оператор обновления, заполняющий last_login_date с текущей отметкой времени и last_login_ip с содержанием $_SERVER['REMOTE_ADDR'].

1 голос
/ 25 января 2012

Для createdDate и lastLoginDate используйте поля datetime, для IP-адреса - поле int и вставьте данные с помощью функции PHP ip2long(), см. PHP.net .

Чтобы получить данные, вы можете сделать это на уровне MySQL:

SELECT INET_NTOA(ip) FROM 'log' WHERE

Чтобы получить реальный IP-адрес, вы также хотите проверить прокси:

if (!empty($_SERVER['HTTP_CLIENT_IP'])){
  $ip=$_SERVER['HTTP_CLIENT_IP'];
//Is it a proxy address
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
  $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
  $ip=$_SERVER['REMOTE_ADDR'];
}
1 голос
/ 25 января 2012
CreatedDate    : datetime
LastLoginDate  : datetime
LastLoginIp    : varchar(20)

Проверьте эту ссылку, чтобы увидеть, как получить IP пользователя.http://www.plus2net.com/php_tutorial/php_ip.php

Когда пользователь пытается войти в систему, вы проверяете имя пользователя и пароль в базе данных и, если пользователь действителен, получите IP-адрес пользователя и обновите таблицу, чтобы этот IP-адрес использовался в качестве значения для "LastLoginIp"столбец.

...