Корректный запрет логина состоящего только из цифр

Автор anton4ik, 20 июня 2016, 15:41:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

anton4ik

Приветствую!

С запретом при регистрации я разобрался: в \Sources\Register.php перед
// Set the options needed for registration.
$regOptions = array(
'interface' => 'guest',
вставляю
// запрещена регистрация только цифр
if (isset($_POST['user']))
{
if(ctype_digit($_POST['user']))
$_POST['user'] = '';
}
Но как корректно выводить сообщение? Или может в $regOptions передавать какой-то дополнительный параметр и по нему выводить сообщение с ошибкой.

GeorG

if (isset($_POST['user']))
{
    echo '
    <script language="JavaScript" type="text/javascript">
alert("Уважаемый, без букв нельзя!");
</script>';
if(ctype_digit($_POST['user']))
$_POST['user'] = '';
       
    }
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

anton4ik

А возможно более корректно, чтоб не $txt['need_username'] писало, а что-то своё, например $txt['only_digit'] и в поле с ошибкой?

anton4ik

Всё, разобрался.
В \Sources\Subs-Members.php перед
// Don't use too long a name.
if ($smcFunc['strlen']($regOptions['username']) > 25)
$reg_errors[] = array('lang', 'error_long_name');
вставить
// запрещена регистрация только цифр !!!!!!!!!!!!!!!!!!!!!!!!!!
if (ctype_digit($regOptions['username']))
$reg_errors[] = array('lang', 'only_digit');
а во всех lang-файлах прописываем нужную инфу. Уря!

Вопрос: а Subs-Members.php отвечает так же и за обновление профиля пользователя или только за регистрацию?