Вход Регистрация
Файл: registration.php
Строк: 164
<?
include_once 'sys/inc/start.php';
include_once 
'sys/inc/compress.php';
include_once 
'sys/inc/sess.php';
include_once 
'sys/inc/home.php';
include_once 
'sys/inc/settings.php';
include_once 
'sys/inc/db_connect.php';
include_once 
'sys/inc/ipua.php';
include_once 
'sys/inc/fnc.php';
include_once 
'sys/inc/shif.php';

$show_all true// показ для всех
if (!isset($_SESSION['phone']))$_SESSION['phone'] = null;

include_once 
'sys/inc/user.php';
only_unreg();

// Класс обработчика
include_once H.'sys/inc/smsc_api.php';


// Уведомление 
if ($set['smsc_no_balans'] >= abs(intval(get_balance())) && $set['smsc_no_balans_time'] < time() - 60*60*24)
{
    
// отправка сообщения
    
$msgg "Здравствуйте, на вашем аккаунте [b]Smsc.Ru[/b] денежных средств осталось: [b]" abs(get_balance()) . "[/b] единиц.";
    
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('0', '1', '".my_esc($msgg)."', '$time')");
    
    
$temp_set $set;
    
$temp_set['smsc_no_balans_time'] = time();
    @
save_settings($temp_set);
}


// Отправка пароля
if (isset($_POST["sendsms"])) 

    
// Номер телефона
    
$phone abs($_POST["phone"]);
    
$_SESSION['phone'] = $phone;
    
    if (!
preg_match('/^((+?7|8)(?!95[4-79]|99[^2457]|907|94[^0]|336)([348]d|9[0-689]|7[07])d{8}|+?(99[^456]d{7,11}|994d{9}|9955d{8}|996[57]d{8}|380[34569]d{8}|375[234]d{8}|372d{7,8}|37[0-4]d{8}))$/'$phone) || !is_numeric($phone))
    
$err 'Неверный формат номера';
    
    
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user_reg` WHERE `phone` = '".$phone."'"),0) == 0)
    {
        
// Генерация пароля
        
if ($set['smsc_gen_pass'] == 1)
        
$pass mt_rand(111111999999);
        
        elseif (
$set['smsc_gen_pass'] == 0)
        
$pass passgen(62);
        
        else 
$err 'Ошибка при генерации пароля';    
        
        
$pass_link shif($pass $phone);    
    }
    else
    {
        
$user_tmp mysql_fetch_assoc(mysql_query("SELECT * FROM `user_reg` WHERE `phone` = '".abs($_POST['phone'])."' LIMIT 1"));
        
$pass $user_tmp['pass'];
        
$pass_link $user_tmp['pass'];
    }
    
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `phone` = '".$phone."'"),0) != 0)
    
$err[] = 'Пользователь с этим номером уже зарегистрирован';
    
    if (isset(
$_SESSION['flood']) && $_SESSION['flood'] > time() - 300
    
$err[] = 'Cлишком частые попытки';
    
    
// Отправляем сообщение
    
if (!$err)$r send_sms($phone"Bxod: http://" $_SERVER['HTTP_HOST'] . "/pm/" $pass_link "nParol: $pass");
    
    if (
$r[1] > 0
    {
        if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user_reg` WHERE `phone` = '".$phone."'"),0) == 0)
        
mysql_query("INSERT INTO `user_reg` (`time`, `id_user`, `phone`, `pass`, `show_pass`, `aut`) VALUES ('$time', '0', '$phone', '".shif($pass)."', '".$pass."', '$pass_link')");
        
        
// Записываем в логи
        
$log ' Регистрация на сайте ';
        
mysql_query("INSERT INTO `user_reg_log` (`time`, `id_user`, `phone`, `msg`, `ip`, `ip_cl`, `ip_xff`, `ua`) 
        VALUES ('
$time', '0', '$phone', '$log', '".ip2long($ip2['add'])."', '".ip2long($ip2['cl'])."', '".ip2long($ip2['xff'])."', '".my_esc($ua)."')");
        
        
$_SESSION['flood'] = time();
        
setcookie('phone'$phonetime()+60*60*24*365);
        
        
$_SESSION['message'] = 'Пароль успешно отправлен';    
        
header('Location: ?enter');
        exit;
    }
}

// Регистрируем
if (isset($_GET['enter']))
{
    
// Чистим куки
    
if ($_GET['enter'] == 1)
    
$_COOKIE['phone'] = null
    
    if (isset(
$_GET['reg']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `user_reg` WHERE `show_pass` = '".my_esc($_GET['reg'])."' AND `pass` = '".my_esc($_GET['pass'])."'"),0) == 1)
    {
        
$_POST['password'] = $_GET['reg'];
    }
    
    if (isset(
$_POST['password']))
    {
        if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user_reg` WHERE `pass` = '".shif(my_esc($_POST['password']))."' AND `id_user` = '0'"),0) == 1)
        {
            
$user_tmp mysql_fetch_assoc(mysql_query("SELECT * FROM `user_reg` WHERE `pass` = '".shif(my_esc($_POST['password']))."' LIMIT 1"));
            
            
mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `set_nick`, `phone`) values('$time', '".shif($_POST['password'])."', '$time', '$time', '1', '$user_tmp[phone]')");
            
            
// Определяем нового юзера
            
$user mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `phone` = '$user_tmp[phone]' AND `pass` = '".shif($_POST['password'])."' LIMIT 1"));
            
$nick 'id' $user['id'];
            
            if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user_reg` WHERE `nick` = '".$nick."'"),0) == 1)
            
$nick $nick '_' $time;
            
            
mysql_query("UPDATE `user` SET `nick` = '$nick' WHERE `id` = '$user[id]' LIMIT 1");
            
            
$pass esc($_POST['password']);
            
            
// Запись для автовхода
            
mysql_query("UPDATE `user_reg` SET `id_user` = '$user[id]' WHERE `phone` = '".$user_tmp['phone']."' LIMIT 1");
            
            
// отправка сообщения
            
$msgg "Уважаемый $nick, поздравляем с успешной регистрацией на сайте! .дружба. n Ваши регистрационные данные: n логин: $nick пароль: $pass . nИзменить свой ник вы можете [url=/user/info/edit.php?set=nick]ТУТ[/url]";
            
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('0', '$user[id]', '".my_esc($msgg)."', '$time')");
            
            
$_SESSION['id_user'] = $user['id'];
            
setcookie('id_user'$user['id'], time() + 60*60*24*365);
            
setcookie('pass'cookie_encrypt($pass,$user['id']), time()+60*60*24*365);
            
setcookie('phone'nulltime());
            
$_SESSION['message'] = 'Регистрация прошла успешно';
            
header('Location: /umenu.php');
            exit;
        }
        else 
$err[] = 'Неверный пароль';
    }
}


$set['title'] = 'Регистрация на сайте';
include_once 
'sys/inc/thead.php';
err();
title();
aut();

?>        
<div class="foot">
<img src="/style/icons/str.gif" alt="*" /> Регистрация
</div>

<div class="nav2">
<?
if (isset($_GET['info']))
{
    
?>
    Номер вашего мобильного вводите в международном формате, он должен начинаться с кода вашей страны.
    Обратите внимание, именно с кода страны, а не с кода вашего города.
    Номер можно вводить как со знаком плюс, так и без него.<br/><br/>

    Примеры правильного ввода номеров в международном формате для популярных стран:<br/><br/>

    Россия - <b class="service_item">79001001010</b> или <b class="service_item">+79001001010</b>, где <b class="service_item">7</b> - это код страны<br/>
    Украина - <b class="service_item">380600000000</b>, где <b class="service_item">38</b> - это код страны<br/>
    Беларусь - <b class="service_item">375000000000</b>, где <b class="service_item">375</b> - это код страны<br/><br/>

    Вводить можно только федеральные мобильные номера, городские номера не поддерживаются.<br/>

    Если у вас не получается ввести номер, то обратитесь к вашему оператору и спросите у него "Как правильно записать мой федеральный мобильный номер в международном формате?".<br/><br/>
    <img src="/style/icons/str2.gif" alt="*" /> <a href="?">Назад</a>
    <?
}
else
{
    if (!isset(
$_COOKIE['phone']))
    {
        
?>
        Для быстрой регистрации введите свой номер телефона
        <?
        
if ($set['smsc_reg'] == 1)
        {
            
?>
             или <a style="color: blue;" href="/reg.php">нажмите здесь</a> для регистрации без номера.
            <?        
        
}
        
?>
        <br /><br />Ваш номер:<br />
        
        <form action="?" method="POST">
        <input type="text" name="phone" size="12" value="<?=$_SESSION['phone']?>"><br />
        <span style="color:gray">(Например, 79110123456)</span><br /><br />
        Пароль будет отправлен на ваш номер. Никто не увидит ваш номер на сайте.<br/><br/>
        Регистрируясь на сайте, вы соглашаетесь с <a href="/rules.php">правилами сайта</a>.<br/>
        <input type="submit" value="Продолжить" name="sendsms"/>
        </form>

        <br />
        <a style="color:blue;" href="?info">Как правильно вводить номер?</a><br/>
        <a style="color:blue;" href="/secure.php">Восстановление пароля</a><br/>
        <?        
    
}
    else
    {
        
?>
        <form method="post" action="?enter">
        На ваш номер <span style="color:green"><b><?=abs($_COOKIE['phone'])?></b></span> отправлен пароль и ссылка для входа.<br/><br/>
        Введите пароль здесь:<br/>
        <input name="password" size="12" maxlength="6" type="text" value=""><br/>
        <input type="hidden" name="phone" value="<?=abs($_COOKIE['phone'])?>"/>
        <input type="submit" value="Войти" />
        </form>
        
        <div class="mess">
            Если СМС не пришло в течение 10 минут, попробуйте <a href="?enter=1"><b>повторить отправку</b></a>.
        </div>
        <?        
    
}
}
?>
</div>

<div class="foot">
<img src="/style/icons/str.gif" alt="*" /> Регистрация
</div>
<?

include_once 'sys/inc/tfoot.php';
?>
Онлайн: 2
Реклама