Вход Регистрация
Файл: pages/registration.php
Строк: 94
<?php
    
include '../engine/includes/start.php';
    
    
$set['title'] = 'Регистрация';
    
    include 
H.'engine/includes/head.php';

    if (
$user_id)
        
Core::stop('/pages/user.php');
    
    if (isset(
$_GET['id'], $_GET['activation']))
    {
        if (
$sql->query("SELECT COUNT(*) FROM `user` WHERE `id` = '".my_esc($_GET['id'] ,'true')."' AND `activation` = '".my_esc($_GET['activation'],'true')."'")->result() !== '0')
        {
            
$sql->query("UPDATE `user` SET `activation` = 'null' WHERE `id` = '$id'");
            
$user['password'] = $sql->query("SELECT `password` FROM `user` WHERE `id` = '$id'")->result();
            
Core::msg_show('Ваш аккаунт успешно активирован');
            
            
setcookie('user_id'$id$time+60*60*24*365'/');
            
setcookie('pass'$user['password'], $time+60*60*24*365'/');

            echo 
'<a href="/pages/user.php">Перейти в свой кабинет</a>';

            include 
H.'engine/includes/foot.php';
        }
        else
            
Core::msg_show('Ошибка активации аккаунта');
    }
    
    if (isset(
$_POST['auth']))
    {
        
$log_len mb_strlen($_POST['login']);

        if (empty(
$_POST['login']))
            
$error[] = 'Введите логин';
        
        if (!isset(
$_POST['sex']))
            
$error[] = 'Выберите пол';

        if (empty(
$_POST['password']))
            
$error[] = 'Введите пароль';
        
        if (empty(
$_POST['password2']))
            
$error[] = 'Введите повтор пароля';
        
        if (!empty(
$_POST['login']) && $log_len || $log_len 16)
            
$error[] = 'Логин должен быть не меньше 3х и не больше 16 символов';
        
        if (!empty(
$_POST['password']) && mb_strlen($_POST['password']) < 6)
            
$error[] = 'Пароль должен быть не меньше 6';
        
        if (
$_POST['password'] !== $_POST['password2'])
            
$error[] = 'Пароль не соответствует повтору пароля';
            
        if (empty(
$_SESSION['captcha']) || trim(strtolower($_POST['captcha'])) != $_SESSION['captcha'])
        {
            
$error[] = 'Неверный проверочный код';
        }
        
        if (isset(
$set['reg_select']) &&  $set['reg_select'] == 'open_mail')
        {
            if (empty(
$_POST['email']))
                
$error[] = 'Введите E-mail';
            
            if (!empty(
$_POST['email']) && !preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui',$_POST['email']))
                
$error[] = 'Не верный формат E-mail';
        }
        
        if (!isset(
$error))
        {
            if (
$sql->query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".my_esc($_POST['login'], 'true')."'")->result() == 0)
            {
                
$status $sql->query('SHOW TABLE STATUS LIKE "user"')->fetch(); 
                
$password md5($status['Auto_increment'] . $_POST['password']); 
                
$login my_esc($_POST['login'], 'true');
                
$sex intval($_POST['sex']);
                
                if (!empty(
$set['activation_acc']))
                {
                    
$key md5(mt_rand());
                    
$email my_esc($_POST['email'], 'true');
                    
                    
$sql->query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `activation`, `pol`, `ank_mail`) VALUES ('$login', '$password', '$time', '$time', '$key', '$sex', '$email')");
                    
$user['id'] = $sql->query("SELECT * FROM `user` WHERE `nick` = '".my_esc($_POST['login'])."' LIMIT 1")->result();
                    
$user Core::get_user($user['id'], true);
                    
                    
$subject "Активация аккаунта";
                    
$regmail "Здравствуйте $login<br />
                    Для активации Вашего аккаунта перейдите по ссылке:<br />
                    <a href='http://
$_SERVER[HTTP_HOST]/pages/registration.php?id=$user[id]&amp;activation=$key'>http://$_SERVER[HTTP_HOST]/pages/reg.php?id=$user[id]&amp;activation=$key</a><br />
                    Если аккаунт не будет активирован в течении 24 часов, он будет удален<br />
                    С уважением, администрация сайта<br />"
;
                    
$adds "From: "password@$_SERVER[HTTP_HOST]" <password@$_SERVER[HTTP_HOST]>n";
                    
$adds .= "Content-Type: text/html; charset=utf-8n";
                    
mail($_POST['email'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
                    
                    
Core::msg_show('Вам необходимо активировать Ваш аккаунт по ссылке, высланной на E-mail');
                    
                    include 
H.'engine/includes/foot.php';
                }
                else
                {
                    
$sql->query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`, `ip`, `ua`) 
                    VALUES ('
$login', '$password', '$time', '$time', '$sex', '".ip2long($_SERVER['REMOTE_ADDR'])."', '".my_esc($_SERVER['HTTP_USER_AGENT'], true)."')");
                    
$user $sql->query("SELECT * FROM `user` WHERE `nick` = '".my_esc($_POST['login'])."' LIMIT 1")->result();
                    
$user Core::get_user($usertrue);
                    
setcookie('user_id'$user['id'], $time+60*60*24*365'/');
                    
setcookie('pass'$password$time+60*60*24*365'/');
                    
$res mysqli_query($sql->db'select `file` from `module_services` where `use_in` ="reg"');
                    while(
$file $sql->result($res))
                    {
                        include_once 
$file;
                    }
                    
?>
                    Вы успешно зарегистрировались<br />
                     <a href="/pages/user.php"><div class="link">Перейти в свой кабинет</div></a>
                    <?
                    
include H.'engine/includes/foot.php';
                }
            }
            else
                
Core::msg_show('Пользователь с логином '.Core::form('login').' уже зарегистрирован');
        }
        else
            
Core::msg_show($error);
    }
    
    
?>
    <form action="" method="POST">
    Логин [A-z А-я 0-9]<br />
    <input type="text" name="login" value="<?=Core::form('login')?>" /><br />
    
    <?
    
if (!empty($set['activation_acc']))
    {
    
?>
            E-mail:<br />
            <input type="text" name="email" value="<?=Core::form('email')?>"/><br />
    <?
    
}
    
?>
    
    Пол:<br />
    <select name="sex">
        <option value="1">Мужской</option>
        <option value="0">Женский</option>
    </select><br />
    
    Пароль:<br />
    <input type="password" name="password" value="<?=Core::form('password')?>"/><br />
    
    Повтор пароля:<br />
    <input type="password" name="password2" value="<?=Core::form('password2')?>"/><br />
    
    <img src = "/pages/captcha.php"/><br />
    
    Проверочный код:<br />
    <input type = "text" name = "captcha"/><br />
    
    <input type="submit" name="auth" value="Зарегистрироваться" />
    
    </form>
    <?
    
include H.'engine/includes/foot.php';
Онлайн: 2
Реклама