Главная | Регистрация | Вход Приветствую Вас Уважаемый Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: n3T, non-party, Bryse  
Проверка логина при регистрации
GlebДата: Пятница, 19.12.2008, 09:59:25 | Сообщение # 1
-=Его Величество Админ=-

« 38 »

Награды : 17

За создание сайта За дизайнерские умения За творческие способности За любовь народа За активное участие на Форуме

Пол пользователя :


Страна :

Вы давно мечтали сделать проверку логина у себя на сайте, как при регистрации на UcoZ'е, но не знали, как это сделать? Можете воспользоваться ГОТОВЫМ решением! Подойдёт для любых сайтов. Использовать лучше на сайтах с большим количеством пользователей.
Всё по шагам, для новичков и продвинутых пользователей!

Сам материал:

1. Вставляется в шаблон "Персональная страница пользователя" после <body ...> :

Code
<span id="chUName" style="display:none;">Проверка логина, так сказать :)</span>

2. Теперь самая важная часть, вставка скрипта в шаблон "Форма регистрации пользователей":

Вместо

Code
$LOGIN_FL$

Заменяем на :

Code
<span id="msgL" style="font:7pt;"> </span>  
<input type="hidden" id="tch" value="*">  
<script type="text/javascript">  
// Скрипт by }{0тт@бь)ч. Описание и установку вы найдёте по адресу http://anton.ucoz.net/blog/2008-07-09-8  
// Спасибо MindFreakTheMon'у за помощь по кроссбраузерности скрипта - http://4users.ucoz.ru/forum/10-1190-1  
var Lok;  
var L = document.getElementById('siF13');  
L.style.width = '50%';  
L.onchange = 'PrepareLoginToChecking();SubmitLoginToCheck()';  
if(navigator.appName=='Microsoft Internet Explorer'){L.attachEvent('onchange', function() {PrepareLoginToChecking();SubmitLoginToCheck()},true)}else{
L.addEventListener('change', function() {PrepareLoginToChecking();SubmitLoginToCheck()}, true)}
var lmsg = document.getElementById('msgL');  
function checkLogin(){  
if (L.value.match(/[^a-zA-Z0-9\-\_\@\%\{\}\[\]\(\)\u0080-\uFFFF]/)){  
Lok=0;  
document.getElementById('msgL').innerHTML='<img border="0" src="http://src.ucoz.ru/img/icon/er.png" align="absmiddle" width="16" height="16"> В логине присутствуют недопустимые символы';  
}  
else if (L.value.length<2){  
Lok=0;  
document.getElementById('msgL').innerHTML='<img border="0" src="http://src.ucoz.ru/img/icon/er.png" align="absmiddle" width="16" height="16"> Минимальная длина логина <b>2</b> символа';  
}  
else if (L.value.length>25){  
Lok=0;  
document.getElementById('msgL').innerHTML='<img border="0" src="http://src.ucoz.ru/img/icon/er.png" align="absmiddle" width="16" height="16"> Максимальная длина логина <b>25</b> символов';  
}  
else {  
Lok=1;  
document.getElementById('msgL').innerHTML='<img border="0" src="http://src.ucoz.ru/img/icon/ok.png" align="absmiddle" width="16" height="16"> Логин введён корректно';  
}  
}  
function PrepareLoginToChecking()  
{  
var original=("-").split("*");  
var neww=("~").split("*");  
var xy=0;  
while(xy<=(original.length-1)) {  
var original1="/"+original[xy]+"/g";  
document.getElementById("tch").value = L.value.replace(eval(original1), neww[xy]);  
xy++;  
}  
}  
function SubmitLoginToCheck()  
{  
checkLogin();  
if(Lok != 1)  
{  
return false;  
}  
window.lf.location='/index/8-0-'+document.getElementById("tch").value+'';  
document.getElementById('msgL').innerHTML='<img src=\"http://src.ucoz.ru/img/wd/3/ajaxs.gif\" align=\"absmiddle\" border=\"0\"> Проверка логина...';  
}  
function GetMessageAboutAvailableLogin()  
{  
checkLogin();  
if(Lok != 1)  
{  
return false;  
}  
if(window.lf.document.getElementById('chUName'))  
{  
document.getElementById('msgL').innerHTML='<img src=\"http://src.ucoz.ru/img/icon/er.png\" align=\"absmiddle\" border=\"0\"> Логин занят';  
}  
else  
{  
document.getElementById('msgL').innerHTML='<img src=\"http://src.ucoz.ru/img/icon/ok.png\" align=\"absmiddle\" border=\"0\"> Логин свободен';  
}  
}  
</script> <iframe name="lf" src="/index/8-0-*" style="display:none;" height="1px" width="1px" frameborder="0" onload="GetMessageAboutAvailableLogin()"></iframe>

Внимание! Для корректной работы скрипта надо включить опцию "Просмотр пользовательских страниц" для гостей! В противном случае, всегда будет выдаваться сообщение о том, что логин свободен.

Первоисточник : http://anton.ucoz.net/blog/2008-06-23-8




 
  • Страница 1 из 1
  • 1
Поиск:



Made By Gleb © 2005 - 2024