Файл: tyde/www/application/controllers/Reg.php
Строк: 32
<?php
class Reg extends CI_Controller
{
public function __construct ()
{
parent::__construct();
if ($this->uauth->isAuth())
{
header('location: /');
}
}
public function index ()
{
if ($this->input->post())
{
$error = [];
if (empty($_POST['login']))
$error[] = 'Вы не ввели логин';
if (empty($_POST['password']))
$error[] = 'Вы не ввели пароль';
if (empty($_POST['confirm_password']))
$error[] = 'Вы не подтвердили пароль';
if (mb_strlen($_POST['login']) < 3 OR mb_strlen($_POST['login']) > 12)
$error[] = 'Логин не может быть короче 3 и длинее 12 символов';
if (mb_strlen($_POST['password']) < 6 OR mb_strlen($_POST['password']) > 16)
$error[] = 'Пароль не может быть короче 6 и длинее 16 символов';
if (strcmp($_POST['password'], $_POST['confirm_password']) != 0)
$error[] = 'Пароль не совпадают';
if ($this->db->query('SELECT `id` FROM `users` WHERE `login` = ?', [$_POST['login']])->num_rows() > 0)
$error[] = 'Выбранный логин занят';
if (empty($error))
{
$hash = md5(time().$_POST['login'].$_POST['password']);
$data = [
'login' => xss_clean($_POST['login']),
'password' => sha1($_POST['password']),
'hash' => $hash
];
$user = $this->db->insert('users', $data);
if ($user)
{
setcookie('user_id', $this->db->insert_id(), (time() + 24*60*60*365), '/');
setcookie('sid', $hash, (time() + 24*60*60*365), '/');
}
else
{
$_SESSION['messages'] = ['Ошибка сервера'];
}
}
else
{
$_SESSION['messages'] = $error;
}
}
header('location: /');
}
}