if($_POST['submit']=='Enter') {
$err = array();
if (isset($_POST['login'])) { $login = $_POST['login'];
if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password'];
if ($password =='') { unset($password);} }
if (empty($login) or empty($password)) {
$err[]='You did not enter all the information you fill in all fields';
}
if (empty($err))
{
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$login = trim($login);
$password = trim($password);
$password = md5($password);
// $password = strrev($password);
// $password = $password."b3p6f";
$result1 = mysql_query("SELECT * FROM users WHERE login='".$login."' AND password='".$password."'"); //извлекаем из базы все данные о пользователе с введенным логином
$myrow = mysql_fetch_array($result1);
if (empty($myrow['id'])) {
$err[]='Sorry, you entered your username or password is incorrect.';
} else {
$_SESSION['login']=$myrow['login'];
$_SESSION['password']=$myrow['password'];
$_SESSION['id']=$myrow['id'];
$_SESSION['rememberMe'] = $_POST['rememberMe'];
$_SESSION['dostup'] = $myrow['dostup'];
$_SESSION['business_unit'] = $myrow['business_unit'];
$_SESSION['linemanager'] = $myrow['linemanager'];
$_SESSION['phone_number'] = $myrow['phone_number'];
$_SESSION['lastname'] = $myrow['lastname'];
$_SESSION['firstname'] = $myrow['firstname'];
$_SESSION['post_id'] = $myrow['post_id'];
}
}
Это авторизация пользователя. Как переделать запрос таким образом, чтобы дополнительно проверялась таблица Stats, и если пользователь в этом месяце уже авторизовывался тогда запретить вход.
Таблица Stats
Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011 Откуда: Менеск
Помог: 5 раз(а)
McLotos пишет:
если пользователь в этом месяце уже авторизовывался тогда запретить вход
Это раз - повесить куку(на месяц) и проверить, если она isset() то запретить вход, т.к. кука ещё активна, а значит месяц не прошёл
Это дваз - создать дополнительное поле в таблице stats под названием DATETIME, в неё записывать когда последний раз юзер заходил и сравнивать по настоящей дате
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
McLotos пишет:
и если пользователь в этом месяце уже авторизовывался тогда запретить вход.
Не реализуемо без авторизации.
Вы не можете однозначно определить пользователя, если он не авторизован. (куки можно стереть, адреса - подделать)
Можно сделать так - записывать количество авторизаций пользователя с привязкой по логину. И при проведении авторизации проверять число авторизаций. Если больше допустимой - сообщать об этом и не авторизовывать.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
molchun201
Отправлено: 27 Мая, 2011 - 11:08:15
Посетитель
Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011 Откуда: Менеск
Помог: 5 раз(а)
EuGen пишет:
Не реализуемо без авторизации.
Так автор пишет:
Цитата:
Запретить повторную авторизацию
Думаю логично повесить куку
Хотя не понимаю зачем нужно ограничевать пользователя, не вижу всей картины. Автор объесни, может найдём более элегантный путь
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.