Файл: waphero.ru/auth.php
Строк: 24
<?php
require_once 'core/system.php';
require_once 'core/head.php';
switch($act) {
## Обработчик
case 'post':
if(isset($_POST['nick']) && isset($_POST['pass'])) {
$nick = check($_POST['nick']);
$pass = check($_POST['pass']);
/*
Сразу шифруем полученный пароль для сравнения со значением в базе. Если этого не сделать, пользователь не сможет авторизоваться
*/
// Проверяем длину не шифрованного пароля
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '$nick' && `pass` = '$pass'"),0) == false) $err = 'Ошибка авторизации, логин или пароль введены неверно!';
// Сверяем полученные данные с теми что в базе
/*
Если нет ошибок, пропускаем на сайт иначе выдаем ошибку
*/
if(!isset($err)) {
setcookie('nick', $nick, time() + 84600 * 365, '/');
setcookie('pass', $pass, time() + 84600 * 365, '/');
// Ставим куки на год и пропускаем на сайт
header('Location: /index.php');
$_SESSION['message'] = 'Добро пожаловать в игру!';
exit();
}else{
header('Location: /index.php');
$_SESSION['err'] = $err;
exit();
}
}else{
header('Location: /index.php');
$_SESSION['err'] = 'Заполните поля';
exit();
}
## Форма
default:
echo '<form method="post" action="/auth.php?act=post">
Логин<br /><input type="text" name="nick" /><br />
Пароль<br /><input type="text" name="pass" /><br />
<input type="submit" value="Войти" />
</form>';
/*
В поле с паролем можно указать тип password вместо text, в этом случае введенный пароль будет заменятся звездочками
*/
}
require_once 'core/foot.php';
?>