Страница 1 из 2

Проверка логина при регистрации!

СообщениеДобавлено: 23 июн 2008, 19:17
google08
Изображение

Вы давно мечтали сделать проверку логина у себя на сайте, как при регистрации на UcoZ'е, но не знали, как это сделать? Можете воспользоваться ГОТОВЫМ решением! Подойдёт для любых сайтов. Использовать лучше на сайтах с большим количеством пользователей.
Всё по шагам, для новичков и продвинутых пользователей!
Сам материал:
1. Вставляется в шаблон "Персональная страница пользователя" после <body ...>:
Код: Выделить всё
<span id="chUName" style="display:none;">Проверка логина, так сказать :)</span>


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


Version 1
Код: Выделить всё
<input type="text" id="siF13" class="manFlLogin" name="user" value="" size="20" style="width:200px" maxlength="25" onchange="PrepareLoginToChecking();SubmitLoginToCheck()" />
<iframe name="lf" src="/index/8-0-*" height="1px" width="1px" frameborder="0" onload="GetMessageAboutAvailableLogin()"></iframe>
<input type="hidden" id="tch" value="*">
<span id="msg"></span>
<script>
/* Скрипт by }{0тт@бь)ч. Установку с описанием вы найдёте по адресу http://anton.ucoz.net/blog/2008-06-23-8 */
function PrepareLoginToChecking()
{
var original=("-").split("*") 
var neww=("~").split("*")
var xy=0 
for(xy=0; xy<=(original.length-1); xy++) { 
var original1="/"+original[xy]+"/g" 
document.getElementById("tch").value = document.getElementById("siF13").value.replace(eval(original1), neww[xy]) 
}
}
function SubmitLoginToCheck()
{
if(document.getElementById("siF13").value.length <= 1)
{
document.getElementById('msg').innerHTML='<span style=\"font-size:7pt;\"><img src=\"http://src.ucoz.ru/img/icon/er.png\" align=\"absmiddle\" border=\"0\"> Введите логин</span>';
return false;
}
window.lf.location='/index/8-0-'+document.getElementById("tch").value+'';
document.getElementById('msg').innerHTML='<span style=\"font-size:7pt;\"><img src=\"http://src.ucoz.ru/img/wd/3/ajaxs.gif\" align=\"absmiddle\" border=\"0\"> Проверка логина...</span>';
}
function GetMessageAboutAvailableLogin()
{
if(document.getElementById("siF13").value.length <= 1)
{
document.getElementById('msg').innerHTML='<span style=\"font-size:7pt;\"><img src=\"http://src.ucoz.ru/img/icon/er.png\" align=\"absmiddle\" border=\"0\"> Введите логин</span>';
return false;
}
if(window.lf.document.getElementById('chUName'))
{
document.getElementById('msg').innerHTML='<span style=\"font-size:7pt;\"><img src=\"http://src.ucoz.ru/img/icon/er.png\" align=\"absmiddle\" border=\"0\"> Логин занят</span>';
}
else
{
document.getElementById('msg').innerHTML='<span style=\"font-size:7pt;\"><img src=\"http://src.ucoz.ru/img/icon/ok.png\" align=\"absmiddle\" border=\"0\"> Логин свободен</span>';
}
}
</script>


Version 2.1
Код: Выделить всё
<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>


В версии 2.1 добавлено:
- Полная поддержка Internet Explorer.
Скрипт тестировался в браузерах:
Microsoft Internet Explorer 7 - успешно;
Opera 9.50 - успешно;
Mozilla Firefox 2.0.0.6 - успешно.


Смотрите ничего не потеряйте?
Вот и всё готово. Хотите проверить? Вот форма:
http://anton.ucoz.net/index/3
попробуйте ввести it-is-test
Повводите разные логины. Введите чтобы посмотреть, как выглядит ошибка.
Пероисточник: http://anton.ucoz.net/blog/2008-06-23-8

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

Источник

Re: Проверка логина при регистрации!

СообщениеДобавлено: 23 июн 2008, 19:57
AllCity
Прикольно :D +1

Re: Проверка логина при регистрации!

СообщениеДобавлено: 23 июн 2008, 20:06
google08
AllCity писал(а):Прикольно :D +1

Пасиба :)

Re: Проверка логина при регистрации!

СообщениеДобавлено: 23 июн 2008, 21:22
PuCyHOK
+1 за скрипт

Re: Проверка логина при регистрации!

СообщениеДобавлено: 23 июн 2008, 22:13
потрошитель
зачет!

Re: Проверка логина при регистрации!

СообщениеДобавлено: 23 июн 2008, 22:17
google08
потрошитель писал(а):зачет!

угу ;) пасиб))
Все гуру оценили скриптик

Re: Проверка логина при регистрации!

СообщениеДобавлено: 24 июн 2008, 12:06
СветилО
А как в скрипте проверки полей при регистрации поменять стандартную проверку поля логина на эту???

Re: Проверка логина при регистрации!

СообщениеДобавлено: 24 июн 2008, 19:54
Vanofuture
Итак!
Найден первоисточник и настоящий автор скрипта, его копирайты восстановлены, копирайты google08 удалены нафиг, за наглое вранье google08 забанен на день.

Re: Проверка логина при регистрации!

СообщениеДобавлено: 25 июн 2008, 11:16
Shane
Спасибо за скрипт .Работает как Часики :) Жаль вот только не получилось сделать как написано в темек на Тех.Поддержке Укоза ... Там про то что можно чтоб как у них все поля проверялись ...

Re: Проверка логина при регистрации!

СообщениеДобавлено: 25 июн 2008, 13:04
XxMARSxX
Shane писал(а):Спасибо за скрипт .Работает как Часики :) Жаль вот только не получилось сделать как написано в темек на Тех.Поддержке Укоза ... Там про то что можно чтоб как у них все поля проверялись ...

и не получится в ближайшей жизни