Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как убрать проверку имени при регистрации?

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


     26.01.2016    Все вопросы » Общие вопросы    1680

вопрос
Надо сделать форму подписки на новости по 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
Юзер

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 ?

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

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

наверх