Вход Регистрация
Файл: 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']) < OR mb_strlen($_POST['login']) > 12)
                
$error[] = 'Логин не может быть короче 3 и длинее 12 символов';

            if (
mb_strlen($_POST['password']) < 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: /');
    }
}
Онлайн: 2
Реклама