Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Минимальная длина имени пользователя

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 4 месяца
Откуда: Москва

Сообщение Coagulant »

VVVas писал(а):как это грамотно поправить
Я бы убрал вторую часть условия

Код: Выделить всё

 || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author)))
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

Я бы убрал вторую часть условия
Можно конечно и так ...
А вообще-то не понятно, зачем так сделали ...
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Это я допустим исправлю, а вот как запретить регистрацию с именем короче 3 символов?
я люблю daft punk | новый sugoi.ru
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 20 лет

Сообщение Jovani »

VVVas писал(а):Это я допустим исправлю, а вот как запретить регистрацию с именем короче 3 символов?
Глянул сейчас, нужно добавить условие.

Открыть
includes/usercp_register.php

Найти:

Код: Выделить всё

else if ( $mode == 'register' )
	{
После добавить:

Код: Выделить всё

if ( strlen($username) < 3 )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . 'Имя не должно быть меньше трех символов';
		}


Найти:

Код: Выделить всё

if ( $board_config['allow_namechange'] || $mode == 'register' )
	{


После добавить:

Код: Выделить всё

if ( strlen($username) < 3 )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . 'Имя не должно быть меньше трех символов';
		}
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 4 месяца
Откуда: Москва

Сообщение Coagulant »

Данное исправление не совсем корректно, т.к. предупреждение 'Имя не должно быть меньше трех символов' выводится 2 раза при регистрации. Второе условие нужно вставить после

Код: Выделить всё

			if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register')
			{
Ошибку, кстати, нашёл VVVas.
SNA
phpBB 1.4.1
Сообщения: 44
Стаж: 18 лет 6 месяцев

Сообщение SNA »

Coagulant

То есть должно выглядеть так?

Найти:

Код: Выделить всё

else if ( $mode == 'register' ) 
   { 
После добавить:

Код: Выделить всё

if ( strlen($username) < 3 ) 
      { 
         $error = TRUE; 
         $error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . 'Имя не должно быть меньше трех символов'; 
      } 
Найти:

Код: Выделить всё

if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register') 
         {
После добавить:

Код: Выделить всё

if ( strlen($username) < 3 ) 
      { 
         $error = TRUE; 
         $error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . 'Имя не должно быть меньше трех символов'; 
      } 

В этом случае у меня все равно задваивается сообщение о том что 'Имя не должно быть меньше трех символов'....

Добавлено спустя 39 минут 54 секунды:

Я вообще оставил только одно условие:

Найти:

Код: Выделить всё

else if ( $mode == 'register' )
	{
		if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
		}
	}

После добавить:

Код: Выделить всё

if ( strlen($username) < 3 ) 
      { 
         $error = TRUE; 
         $error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . 'Имя не должно быть меньше трех символов'; 
      }  

Разве этого будет недостаточно?
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

SNA писал(а):Разве этого будет недостаточно?
Этого достаточно, если вы не разрешили пользователям самим себе менять имя.
я люблю daft punk | новый sugoi.ru
SNA
phpBB 1.4.1
Сообщения: 44
Стаж: 18 лет 6 месяцев

Сообщение SNA »

VVVas, ну почему же. У меня разрешено пользователям менять в профиле имя.
Вот сейчас попробовал зарегистрироваться под обычным пользователем - все работает, все меняется. Лишь как и положено -нельзя сделать менее 3-х символов при регистрации и в профиле. И сообщение об ошибке ввода только одно.

Иначе во всех вышеперечисленных случаях, либо в профиле, либо при регистрации выскакивало задвоенное сообщение...
Аватара пользователя
Balamut
Former team member
Сообщения: 2213
Стаж: 19 лет 2 месяца
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 105 раз

Сообщение Balamut »

SNA, если воспользоваться только этой модификацией (как указали Вы, то регистрация меньше 3 символов не работает (как и положенно). НО. Если юзер раньше зарегистрировался с маленьким ником (например qq), то теперь он не сможет отредактировать профиль (выскакивает про "имя не должно быть").
Ввиду этого немножечко добавил. Вместо

Код: Выделить всё

if ( strlen($username) < 3 ) 
сделал

Код: Выделить всё

if ( strlen($username) < 3 && $mode == 'register' ) 

И ещё поменял

Код: Выделить всё

         $error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . 'Имя не должно быть меньше трех символов'; 
на

Код: Выделить всё

		$error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . $lang['Name_too_small']; 
соответственно в lang_main.php после

Код: Выделить всё

$lang['Username_invalid'] = 'Извините, это имя содержит неподходящие символы, (например ")';
добавил

Код: Выделить всё

$lang['Name_too_small'] = 'Имя не должно быть меньше трех символов';
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
OtherDima
phpBB 2.0.1
Сообщения: 294
Стаж: 19 лет 2 месяца
Откуда: Санкт-Петербург
Благодарил (а): 1 раз

Сообщение OtherDima »

а почему зачем вообще ID если ищем по имени пользователя
не понимаю :?
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

OtherDima писал(а):а почему зачем вообще ID если ищем по имени пользователя
не понимаю
А где мы с id мучаемся?
я люблю daft punk | новый sugoi.ru
Аватара пользователя
OtherDima
phpBB 2.0.1
Сообщения: 294
Стаж: 19 лет 2 месяца
Откуда: Санкт-Петербург
Благодарил (а): 1 раз

Сообщение OtherDima »

VVVas
я про поиск, а не про минимальнкю длину

какая разница сколько символов
если поиск сообщений делать по ID пользователя
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

OtherDima писал(а):если поиск сообщений делать по ID пользователя
А это идея
я люблю daft punk | новый sugoi.ru
Аватара пользователя
OtherDima
phpBB 2.0.1
Сообщения: 294
Стаж: 19 лет 2 месяца
Откуда: Санкт-Петербург
Благодарил (а): 1 раз

Сообщение OtherDima »

VVVas писал(а):А это идея
не понятно почему при поиске писатели пошли другим путём

Вернуться в «Поддержка phpBB 2.0.x»