Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

Рекомендуемые сообщения

2 часа назад, detected сказал:

@Leymelki это в css надо искать 

CSS сдесь не причем. JavaScript вызывает эту ошибку после ответа сервера.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, banoved сказал:

@Семен можете подсказать как это решить

 

В ответе сервера должна быть строка  примерно такой - "ok|5".

Имя, фамилия, почта и пароль должны пройти проверку. Смотри register.php и reg.js

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

@Семен  код регистрации 

Спойлер
<?php

if (!defined('MOZG')) die('Hacking attempt!');
//Проверяем была ли нажата кнопка, если нет, то делаем редирект на главную
if (!$logged) {
    NoAjaxQuery();
    //Код безопасности
    $session_sec_code = $_SESSION['sec_code'];
    $sec_code = $_POST['sec_code'];
    //Если код введные юзером совпадает, то пропускаем, иначе выводим ошибку
    if ($sec_code == $session_sec_code) {
        //Входные POST Данные
        $user_name = ajax_utf8(textFilter($_POST['name'], false, true));
        $user_lastname = ajax_utf8(textFilter($_POST['lastname'], false, true));
        $user_email = ajax_utf8(textFilter($_POST['email'], false, true));
        $user_name = ucfirst($user_name);
        $user_lastname = ucfirst($user_lastname);
        $user_sex = intval($_POST['sex']);
        if ($user_sex < 0 OR $user_sex > 2) $user_sex = 0;
        $user_day = intval($_POST['day']);
        if ($user_day < 0 OR $user_day > 31) $user_day = 0;
        $user_month = intval($_POST['month']);
        if ($user_month < 0 OR $user_month > 12) $user_month = 0;
        $user_year = intval($_POST['year']);
        if ($user_year < 1930 OR $user_year > 2007) $user_year = 0;
        $user_country = intval($_POST['country']);
        if ($user_country < 0 OR $user_country > 10) $user_country = 0;
        $user_city = intval($_POST['city']);
        if ($user_city < 0 OR $user_city > 1587) $user_city = 0;
        $_POST['password_first'] = ajax_utf8($_POST['password_first']);
        $_POST['password_second'] = ajax_utf8($_POST['password_second']);
        $password_first = GetVar($_POST['password_first']);
        $password_second = GetVar($_POST['password_second']);
        $user_birthday = $user_year . '-' . $user_month . '-' . $user_day;
        $errors = array();
        //Проверка имени
        if (preg_match("/^[a-zA-Zа-яА-Я]+$/iu", $user_name) AND strlen($user_name) >= 2) $errors[] = 0;
        //Проверка фамилии
        if (preg_match("/^[a-zA-Zа-яА-Я]+$/iu", $user_lastname) AND strlen($user_lastname) >= 2) $errors[] = 0;
        //Проверка E-mail
        if (filter_var($user_email, FILTER_VALIDATE_EMAIL)) $errors[] = 0;
        //Проверка Паролей
        if (strlen($password_first) >= 6 AND $password_first == $password_second) $errors[] = 0;
        $allEr = count($errors);
        //Если нет ошибок то пропускаем и добавляем в базу
        if ($allEr == 4) {
            $check_email = $db->super_query("SELECT COUNT(*) AS cnt FROM `" . PREFIX . "_users` WHERE user_email = '{$user_email}'");
            if (!$check_email['cnt']) {
                $md5_pass = md5(md5($password_first));
                $user_group = '5';
                if ($user_country > 0 or $user_city > 0) {
                    $country_info = $db->super_query("SELECT name FROM `" . PREFIX . "_country` WHERE id = '" . $user_country . "'");
                    $city_info = $db->super_query("SELECT name FROM `" . PREFIX . "_city` WHERE id = '" . $user_city . "'");
                    $user_country_city_name = $country_info['name'] . '|' . $city_info['name'];
                }
                $user_search_pref = $user_name . ' ' . $user_lastname;
                //Hash ID
                $hid = $md5_pass . md5(md5($_IP));
                $db->query("INSERT INTO `" . PREFIX . "_users` (user_last_visit, user_email, user_password, user_name, user_lastname, user_sex, user_day, user_month, user_year, user_country, user_city, user_reg_date, user_lastdate, user_group, user_hid, user_country_city_name, user_search_pref, user_birthday, user_privacy) VALUES ('{$server_time}', '{$user_email}', '{$md5_pass}', '{$user_name}', '{$user_lastname}', '{$user_sex}', '{$user_day}', '{$user_month}', '{$user_year}', '{$user_country}', '{$user_city}', '{$server_time}', '{$server_time}', '{$user_group}', '{$hid}', '{$user_country_city_name}', '{$user_search_pref}', '{$user_birthday}', 'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||')");
                $id = $db->insert_id();
                //Устанавливаем в сессию ИД юзера
                $_SESSION['user_id'] = intval($id);
                //Записываем COOKIE
                set_cookie("user_id", intval($id), 365);
                set_cookie("password", md5(md5($password_first)), 365);
                set_cookie("hid", $hid, 365);
                //Создаём папку юзера в кеше
                mozg_create_folder_cache("user_{$id}");
                //Директория юзеров
                $uploaddir = ROOT_DIR . '/uploads/users/';
                @mkdir($uploaddir . $id, 0777);
                @chmod($uploaddir . $id, 0777);
                @mkdir($uploaddir . $id . '/albums', 0777);
                @chmod($uploaddir . $id . '/albums', 0777);
                //Если юзер регался по реф ссылки, то начисляем рефералу 10 убм
                if ($_SESSION['ref_id']) {
                    //Проверям на накрутку убм, что юзер не сам регистрирует анкеты
                    $check_ref = $db->super_query("SELECT COUNT(*) AS cnt FROM `" . PREFIX . "_log` WHERE ip = '{$_IP}'");
                    if (!$check_ref['cnt']) {
                        $ref_id = intval($_SESSION['ref_id']);
                        //Даём рефералу +10 убм
                        $db->query("UPDATE `" . PREFIX . "_users` SET user_balance = user_balance+10 WHERE user_id = '{$ref_id}'");
                        //Вставялем рефералу ид регистратора
                        $db->query("INSERT INTO `" . PREFIX . "_invites` SET uid = '{$ref_id}', ruid = '{$id}'");
                    }
                }
                //Вставляем лог в бд
                $db->query("INSERT INTO `" . PREFIX . "_log` SET uid = '{$id}', browser = '{$_BROWSER}', ip = '{$_IP}'");
                echo - 'ok|5'. $id;
            } else echo 'err_mail|';
        } else echo 'no_val';
    }
    die();
}
?>











 java

//REG
var reg = {
    step1: function(){
        var name = $('#name').val();
        var lastname = $('#lastname').val();
        if(name != 0){
            if(isValidName(name)){
                if(lastname != 0){
                    if(isValidName(lastname)){
                        $('#step1').hide();
                        $('#step2').show();
                        $('#reg_lnk').attr('onClick', '');
                    } else {
                        setErrorInputMsg('lastname');
                        $('#err').show().html(lang_nosymbol);
                    }
                } else {
                    setErrorInputMsg('lastname');
                    $('#err').show().html(lang_empty);
                }
            } else {
                setErrorInputMsg('name');
                $('#err').show().html(lang_nosymbol);
            }
        } else {
            setErrorInputMsg('name');
            $('#err').show().html(lang_empty);
        }
    },
    step2: function(){
        $('#step2').hide();
        $('#step3').show();
    },
    finish: function(){
        var email = $('#email').val();
        var new_pass = $('#new_pass').val();
        var new_pass2 = $('#new_pass2').val();
        var rndval = new Date().getTime(); 
        if(email != 0 && isValidEmailAddress(email)){
            if(new_pass != 0 && new_pass.length >= 6){
                if(new_pass == new_pass2){
                    Box.Show('sec_code', 280, 'Введите код с картинки:', '<div style="padding:20px;text-align:center"><div class="cursor_pointer" onClick="updateCode(); return false"><div id="sec_code"><img src="/antibot/antibot.php?rndval=' + rndval + '" alt="" title="Показать другой код" width="120" height="50" /></div></div><div id="code_loading"><input type="text" id="val_sec_code" class="inpst" maxlength="6" style="margin-top:10px;width:110px" /></div></div>', lang_box_canсel, 'Отправить', 'checkCode(); return false;');
                    $('#val_sec_code').focus();
                } else {
                    setErrorInputMsg('new_pass2');
                    $('#err2').show().html('Оба введенных пароля должны быть идентичны.');
                }
            } else {
                setErrorInputMsg('new_pass');
                $('#err2').show().html('Длина пароля должна быть не менее 6 символов.');
            }
        } else {
            setErrorInputMsg('email');
            $('#err2').show().html(lang_bad_email);
        }
    },
    send: function(sec_code){
        var email = $('#email').val();
        var new_pass = $('#new_pass').val();
        var new_pass2 = $('#new_pass2').val();
        var name = $('#name').val();
        var lastname = $('#lastname').val();
        var val_sec_code = $("#val_sec_code").val();
        var sex = $("#sex").val();
        var day = $("#day").val();
        var month = $("#month").val();
        var year = $("#year").val();
        var country = $("#country").val();
        var city = $("#select_city").val();
        $.post('/index.php?go=register', {
                name: name,
                lastname: lastname,
                email: email,
                sex: sex,
                day: day,
                month: month,
                year: year,
                country: country,
                city: city,
                password_first: new_pass,
                password_second: new_pass2,
                sec_code: sec_code
            }, function(d){
            var exp = d.split('|');
            if(exp[0] == 'ok'){
                window.location = '/u'+exp[1]+'after';
            } else if(exp[0] == 'err_mail'){
                $('#err2').show().html('Пользователь с таким E-Mail адресом уже зарегистрирован.');
                Box.Close('sec_code');
            } else {
                Box.Info('boxerr', 'Ошибка', 'Неизвестная ошибка', 300);
                Box.Close('sec_code');
            }
        });
    }
}
//RESTORE
var restore = {
    next: function(){
        var email = $('#email').val();
        if(email != 0 && email != 'Ваш электронный адрес' && isValidEmailAddress(email)){
            butloading('send', '32', 'disabled', '');
            $.post('/index.php?go=restore&act=next', {email: email}, function(data){
                if(data == 'no_user'){
                    $('#err').show().html('Пользователь <b>'+email+'</b> не найден.<br />Пожалуйста, убедитесь, что правильно ввели e-mail.');
                } else {
                    var exp = data.split('|');
                    $('#step1').hide();
                    $('#step2').show();
                    $('#c_src').attr('src', exp[1]);
                    $('#c_name').html('<b>'+exp[0]+'</b>');
                }
            });
            butloading('send', '32', 'enabled', 'Далее');
        } else
            setErrorInputMsg('email');
    },
    send: function(){
        var email = $('#email').val();
        butloading('send2', '129', 'disabled', '');
        $.post('/index.php?go=restore&act=send', {email: email}, function(d){
            $('#step2').hide();
            $('#step3').show();
        });
    },
    finish: function(){
        var new_pass = $('#new_pass').val();
        var new_pass2 = $('#new_pass2').val();
        var hash = $('#hash').val();
        if(new_pass != 0 && new_pass != 'Новый пароль'){
            if(new_pass2 != 0 && new_pass2 != 'Повторите еще раз новый пароль'){
                if(new_pass == new_pass2){
                    if(new_pass.length >= 6){
                        $('#err').hide();
                        butloading('send', '43', 'disabled', '');
                        $.post('/index.php?go=restore&act=finish', {new_pass: new_pass, new_pass2: new_pass2, hash: hash}, function(d){
                            $('#step1').hide();
                            $('#step2').show();
                        });
                    } else
                        $('#err').show().html('Длина пароля должна быть не менее 6 символов.');
                } else
                    $('#err').show().html('Оба введенных пароля должны быть идентичны.');
            } else
                setErrorInputMsg('new_pass2');
        } else
            setErrorInputMsg('new_pass');
    }
}
function isValidName(xname){
    var pattern = new RegExp(/^[a-zA-Zа-яА-Я]+$/);
     return pattern.test(xname);
}
function isValidEmailAddress(emailAddress) {
     var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
     return pattern.test(emailAddress);
}
function updateCode(){
    var rndval = new Date().getTime(); 
    $('#sec_code').html('<img src="/antibot/antibot.php?rndval=' + rndval + '" alt="" title="Показать другой код" width="120" height="50" />');
}
function checkCode(){
    var val_sec_code = $("#val_sec_code").val();
    $('#code_loading').html('<img src="'+template_dir+'/images/loading_mini.gif" style="margin-top:21px" />');
    $.get('/antibot/sec_code.php?user_code='+val_sec_code, function(data){
        if(data == 'ok'){
            reg.send(val_sec_code);
        } else {
            updateCode();
            $('#code_loading').html('<input type="text" id="val_sec_code" class="inpst" maxlength="6" style="margin-top:10px;width:110px" />');
            $('#val_sec_code').val('');
            $('#val_sec_code').focus();
        }
    });
}

 

Ссылка на комментарий
Поделиться на другие сайты

@banoved выше писал ответом ok|$id айди это номер новой страницы юзера. Если данные проходят и новая почта в бд отсутствует, то неизвестная ошибка вылетать не будет.  Любой phpшник справиться с этим вопросом.

Ссылка на комментарий
Поделиться на другие сайты

36 минут назад, banoved сказал:

@Семен я начинающий програмист,только начинаю свой путь

если php 5.3, то все будет работать. Под php 7.4 и 8.0 регулярки и функции переписывать надо.

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, banoved сказал:

@Семен я много сборок с форума скачал, на всех вылетает неизвестная ошибка, можешь пожалуйста подсказать

Не проблема, вычетом.

Ссылка на комментарий
Поделиться на другие сайты

  • 9 месяцев спустя...

Если при установке у Вас появляется ошибка N - 1, то чтобы ее удрать удалите файл config.php в каталоге system/data/. После этого переустановите скрипт по-новому

 

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
  • 1 месяц спустя...

Deprecated: Function get_magic_quotes_gpc() is deprecated in /var/www/s248244/data/www/closevk.ru/system/inc/functions.php on line 352

Deprecated: Function get_magic_quotes_gpc() is deprecated in /var/www/s248244/data/www/closevk.ru/system/inc/functions.php on line 352

в админ панели

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...