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;
}
}
}
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
