- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
// Функция авторизации
function auth()
{
// Ищем пользователя с именем, указанным в куках
$result = $this->query("SELECT * FROM auth_members
WHERE name = '" . mysql_escape_string($_POST['name']) . "' AND password = '" . md5($_POST['pass']) . "' LIMIT 1");
// Еслии пользователя с таким именем нет, делаем редирект
if (mysql_num_rows($result) == 0) {
$this->redirect("not_auth");
}
// Парсим полученную запись.
$user = mysql_fetch_object($result);
// Получаем текущее время с учетом дробных частей секунды
$tm = $this->getmicrotime();
// Вставляем запись в таблицу с сессиями.
$this->query("INSERT INTO auth_sessions
VALUES( " . $user->id . " , " . time() . " , '" . $this->hash2($user->name, $_SERVER['HTTP_USER_AGENT'], $this->get_ip(), $tm) . "' )");
// Ставим пользователю куки с его логинов и уникальным временем авторизации. Время жизни кук - 15 минут
setcookie("time", $tm, time() + SES_LIVE, "/");
setcookie("name", $user->name, time() + SES_LIVE, "/");
// делам редирект без параметра, т.к. никаких ошибок не было
$this->redirect("");
}