Как запретить при регистрации в логине использовать email

Как запретить при регистрации пользователям в логине использовать email?

Что бы на сайте не было логинов в виде email.

Похожие статьи

  • Проблема с регистрацией на сайте
    Доброго дня, помогите разобраться с проблемой. После заполнения всех полей для регистрации и нажатия на кнопку регистрация ничего не происходит, даже если нажимать еще один раз, результат тот же, окно регистрации...
  • [Проблема] Не работает регистрация
    После просмотра всех тем с тегом «регистрация» , оказалось что это распространенная проблема , но решения так и не нашел ,а быть точнея не помогло. Вообщем установил движок последней версии , нечего не устанавливал...
  • Не приходят письма для подтверждения регистрации
    Здравствуйте. Возникла проблема, участникам при регистрации не приходят письма для подтверждения регистрации или приходят в папку спам. Кто сталкивался с этим и как бороться ?
  • Не работает регистрация
    И с www и без. Config не менял. Версия: 1, шаблон start-kit. Логинится нормально, а при попытке зарегистрировать нового пользователя просто обнавляется форма регистрации и ничего не происходит, юзер не создается. С...

19 комментариев

0
Логично, что надо сделать проверку на символ @
А как сделать эту проверку — на сервере или на клиенте, уже вопрос реализации.
Во втором случае достаточно правки шаблона.
0
Во втором случае достаточно правки шаблона.
Мне бы хватило и этого, можете подсказать как это сделать.
0
Для шаблона Synio открываете следующий файл:
/templates/skin/synio/actions/ActionRegistration/index.tpl

Поле с вводом логина имеет идентификатор id=«registration-login»

В простейшем случае, пишете на jQuery скрипт проверки корректности заполнения этого поля (без знака @ или сверяя с полем почты). Вставить скрипт можете прямо в этот шаблон.
0
Про скрипт почитайте здесь:
myrusakov.ru/javascript-dynamic-form.html — основы
www.clone.h16.ru/css-js/5/ — подробности
Ну и запрос в Google «Валидация формы с помощью js» — даст еще больше вариантов.
P.S.
Прошу прощения за ссылки и гугл, но в двух словах дать вам готовый рецепт не получится.
0
А если у меня ник содержит @ и мне это нравится? Нужно проверять что бы пользователь не использовал e-mail, который он использовал при регистрации, и потом, если он решит сменить e-mail, тоже. Так что проверять нужно не на символ "@", а на соответствие пары ник — e-mail.
Отредактирован:
0
А если ник и email — две разные почты? А почту в логине нам не надо совсем.
Тогда уж ник надо регуляркой проверять
+1
Ну если хочет человек свою почту светить… по моему это его личное дело. Его реальная почта, которая используется на сайте для сброса пароля, не видна — остальное на совести пользователя. Это мое ИМХО, конечно.
0
Согласен, плюсанул
+1
Собственно, вопрос требует уточнения, что же именно нужно: просто запретить символ @ в логине или организовать проверку, не совпадает ли введенный логи с емейлом?

Если первое, то это через конфиг настраивается. Второе — плагинчик придется написать простейший для доп. проверки логина и мыла юзера, в коробке такой проверки нет
0
Всем спасибо за ответ, мне достаточно и первого варианта. А что в конфиге надо править для этого?
0
config/config.php

$config['module']['user']['login']['charset'] = '0-9a-z_\-';    // Допустимые в имени пользователя символы
0
Я в регулярках не силен, но походу, чтобы отключить спец. символы можно оставить только '0-9a-z'
0
Эта запись означает, что в логине допустимы:
* цифры от 0 до 9
* буквы от a до z
* символ подчеркивания
* дефис
0
Каким же тогда образом проходит символ @
0
Тогда не пойму как запретить символ @?
0
А какая версия движка? Может, баг какой-то, из-за которого проверка не срабатывает, но который был позже исправлен
0
Версия AltoCMS 0.9.7.1
+1
Да, посмотрел код — есть баг в 0.9.7.1, из-за которого не выполняется проверка.

Исправляется так: в модуле User.class.php в функции public function CheckLogin($sLogin) находится код:
if (!$sCharset || $nMin || $nMax) {
    return true;
}
и меняется на такой:
if (!$sCharset || !$nMin || !$nMax) {
    return true;
}
0
спасибо, теперь работает нормально.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.