Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как убрать проверку имени при регистрации?

Как убрать проверку имени при регистрации?


     26.01.2016    Общие вопросы    480

вопрос
Надо сделать форму подписки на новости по email. Хочу регать пользователей только по одному этому полю и потом осуществлять рассылку из админки.
То есть надо убрать все поля кроме email и отключить капчу в админке. Нашёл хак
$password1 = $_POST['password1'];
$password2 = $_POST['password2'];

меняем на
$password1 = substr(md5($_POST['name']), 0, 10);
$password2 = $password1;

удаляем
if(document.forms.registration.password1.value.length < 6) {
DLEalert('{$lang['reg_err_31']}', dle_info);return false;
}
if(document.forms.registration.password1.value != document.forms.registration.password2.value) {
DLEalert('{$lang['reg_err_32']}', dle_info);return false;
}

Осталось имя. Нашёл похожий код
if(document.forms.registration.name.value == '') {

        DLEalert('{$lang['reg_err_30']}', dle_info);return false;

    }

но его удаление не приводит к нужному результату.
Не возникнет ли каких проблем с безопасностью после всех этих операций?

Ответа пока нет


Комментарии пользователей (1)

yozuul
14 | 1

yozuul - 27 января 2016 10:14 - Юзер

С проверкой на заполненность имени разобрался, но возникла другая проблема - проверка имени в бд. Несколько пользователей с пустыми именами тоже не даёт регать.
Я так понимаю вот этот код
 if( $stop == "" ) {
                if( function_exists('mb_strtolower') ) {
                        $name = trim(mb_strtolower($name, $config['charset']));
                } else {
                        $name = trim(strtolower( $name ));
                }
                $search_name = strtr( $name, $relates_word );

                $row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users WHERE email = '$email' OR LOWER(name) REGEXP '[[:<:]]{$search_name}[[:>:]]' OR name = '$name'" );

                if( $row['count'] ) $stop .= $lang['reg_err_8'];
        }

        return $stop;

Как присвоить переменной $name значение $email вместо вывода 'reg_err_8 ?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы