![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
otóż mam problem z poprawnym sprawdzeniem czy dany login już istnieje. Kod var r=1; var v=0; function check_login_sql(str) { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==0 || xmlhttp.readyState==1){ document.getElementById("check_login").innerHTML="<img src=\"images/ajax-loader.gif\"><span style=\"color: red\">Sprawdzanie loginu</span>"; } if(xmlhttp.readyState==4){ //document.getElementById("check_login").innerHTML=""; //document.getElementById("check_login").innerHTML=xmlhttp.responseText; v = xmlhttp.responseText; } } xmlhttp.open("GET", "javascript/check_login.php?login="+str,true); xmlhttp.send(); if(v == 0){ r = 0; }else{ r = 1; } } function check_login(login){ if(login.length==0){ document.getElementById("check_login").innerHTML="<img src=\"images/register/unchecked.gif\"><span>Podaj swój login</span>"; return 0; }else if(!/^([a-zA-Z0-9_\.\-])+$/i.test(login)){ document.getElementById("check_login").innerHTML="<img src=\"images/register/unchecked.gif\"><span style=\"color: red\">Twój login zawieta niedozwolone znaki</span>"; return 0; }else if(login.length>20){ document.getElementById("check_login").innerHTML="<img src=\"images/register/unchecked.gif\"><span style=\"color: red\">Twój login jest za długi</span>"; return 0; }else if(login.length<5){ document.getElementById("check_login").innerHTML="<img src=\"images/register/unchecked.gif\"><span style=\"color: red\">Twój login jest za krótki</span>"; return 0; }else{ check_login_sql(login); if(r == 0){ document.getElementById("check_login").innerHTML="<img src=\"images/register/unchecked.gif\"><span style=\"color: red\">Login jest już zajęty</span>"+r+","+v+","+login; return 0; }else{ document.getElementById("check_login").innerHTML="<img src=\"images/register/checked.gif\">"+r+","+v+","+login; return 1; } } } Z pozoru wszytko wydaje się być OK, ale niestety login nie zawsze zostaje poprawnie sprawdzony (testowy zajęty nick to maslo13) i widnieje jako dostępy (cała przykładowa strona tutaj). Bardzo będę wdzięczny za wszelką pomoc w rozwiązaniu mojego problemu ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 10 Dołączył: 1.03.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A po stronie php i zapytania do bazy danych wszystko jest ok ? Bo Ajax dobrze wysyła parametr tylko zwracany rezultat "0" jest zły jak rozumiem
-------------------- Facead.pl - Social Media Agency
Fishcode.pl - Blog |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Już jakoś sobie poradziłem, ale dziękuje za zainteresowanie
![]() Kod function check_login_sql(str)
{ var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari }else{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5 } xmlhttp.open("GET", "javascript/check_login.php?login="+str,false); xmlhttp.send(); if(parseInt(xmlhttp.responseText)==0){ return 0; }else{ return 1; } } |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 04:25 |