Перейти к публикации

Проверка логина


Рекомендованные сообщения

celsoft,

неприятная мелочь была замечена. Когда регистрируешь пользователя, после ввода логина есть возможность проверить, существует ли пользователь с таким ником или нет. Все это на ajax происходит. Так вот, суть проблемы в том, что выводит информацию неккоректно. То есть, некоторые ошибки выводит вот как <li>текст ошибки</li> без обворачивающего тега <ul>.

Хорошо бы пофиксить.

Ссылка на сообщение
Поделиться на других сайтах

Оно выводит вот так:

<div id="result-registration"><font color="red">Данное имя уже зарегистрировано</font></div>

<div id="result-registration"><font color="green">Вы можете использовать данное имя для регистрации</font></div>

<div class="clr berrors">
<b>Внимание, обнаружена ошибка</b><br>
По данному адресу публикаций на сайте не найдено, либо у вас нет доступа для просмотра информации по данному адресу.
</div>
[/html]

Или где именно надо смотреть, чтобы увидеть? :unsure:

Ссылка на сообщение
Поделиться на других сайтах

Critical Error, действительно :)


<div id="result-registration">
<font color="red">
<li>Длина имени не может превышать 20 символов!</li>
<li>Вы используете недопустимое для регистрации имя!</li>
</font>
</div>
[/html]

Ссылка на сообщение
Поделиться на других сайтах

Можно попробовать вот так исправить:

#result-registration font { display: list-item; }

:P

Если верить htmlbook.ru, то поддерживается всеми браузерами: http://htmlbook.ru/css/display

Хотя это конечно же не решение, а больше шутка :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах

Избавился, отредактировав в engine/ajax/registration.php функцию check_name() изменив в ней идентификаторы для языкового пакета ($lang['...']), а в файле language/Russian/website.lng просто добавил аналогичные ошибки только без <li>

Вот что вышло в engine/ajax/registration.php


function check_name($name)

{

	global $lang, $db, $banned_info, $relates_word;


	$stop = '';


	if (dle_strlen($name, $config['charset']) > 20)

	{


            $stop .= $lang['reg_err_ajax_3'];

	}

	if (preg_match("/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/",$name))

	{


            $stop .= $lang['reg_err_ajax_4'];

	}

	if (empty($name))

	{


            $stop .= $lang['reg_err_ajax_7'];

	}


	if (strpos( strtolower ($name) , '.php' ) !== false) {

            $stop .= $lang['reg_err_ajax_4'];

	}


	if (count($banned_info['name']))

		foreach($banned_info['name'] as $banned){


			$banned['name'] = str_replace( '\*', '.*' ,  preg_quote($banned['name'], "#") );


			if ( $banned['name'] AND preg_match( "#^{$banned['name']}$#i", $name ) ) {


				if ($banned['descr']) {

					$lang['reg_err_ajax_21']	= str_replace("{descr}", $lang['reg_err_ajax_22'], $lang['reg_err_ajax_21']);				

					$lang['reg_err_ajax_21']	= str_replace("{descr}", $banned['descr'], $lang['reg_err_ajax_21']);				

				} else $lang['reg_err_ajax_21']	= str_replace("{descr}", "", $lang['reg_err_ajax_21']);


				$stop .= $lang['reg_err_ajax_21'];

			}

	}


	if (!$stop)

	{


		$name=strtolower($name);

		$search_name=strtr($name, $relates_word);


		$db->query ("SELECT name FROM " . USERPREFIX . "_users WHERE LOWER(name) REGEXP '[[:<:]]{$search_name}[[:>:]]' OR name = '$name'");


        if ($db->num_rows() > 0)

        {

			$stop .= $lang['reg_err_20'];

		}

	}


	if (!$stop) return false; else return $stop;

}

а вот ка сделал в language/Russian/website.lng после

'reg_ok_ajax'			=>	"Вы можете использовать данное имя для регистрации",

добавил

'reg_err_ajax_3'		=>	"Длина имени не может превышать 20 символов!",

'reg_err_ajax_4'		=>	"Вы используете недопустимое имя!",

'reg_err_ajax_7'		=>	"Имя пользователя не может быть пустым!",

'reg_err_ajax_21'		=>	"Администратором было запрещено использовать данный логин для регистрации{descr}",

'reg_err_ajax_22'		=>	", по причине: {descr}",

'reg_err_ajax_23'		=>	"Администратором было запрещено использовать данный E-Mail для регистрации{descr}",

И теперь нормально, по стандартам "вылазит" текст. И цвет его не пострадал, и через {info} выводятся с <li>

Да я блин молодец :lol:

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...