[AJAX] verification automatique de la disponibilité d'un pseudo
Bonjour, je suis en train de creer un formulaire d'inscription qui est relié a une table qui n'accepte pas les doublons sur le pseudo, j'utilise donc ajax pour connaitre la disponibilité du pseudo instantanément:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
function writediv(texte)
{
document.getElementById('pseudobox').innerHTML = texte;
}
function verifPseudo(pseudo)
{
if(pseudo != '')
{
if(pseudo.length<2)
writediv('<span style="color:#cc0000; font-size:8pt"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
else if(pseudo.length>30)
writediv('<span style="color:#cc0000; font-size:8pt"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
else if(texte = file('verifpseudo.php?pseudo='+escape(pseudo)))
{
if(texte == 1)
writediv('<span style="color:#cc0000; font-size:8pt"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
else if(texte == 2)
writediv('<span style="color:#1A7917; font-size:8pt"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
else
writediv(texte);
}
}
}
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
} |
l'appel dans le formulaire :
Code:
1 2 3
|
<td><input name="login22" " type="text" class="Txtlib" maxlength="15" onKeyUp="verifPseudo(login22.value)"/>
<div id="pseudobox"></div></td> |
Et enfin le script php:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?php require_once('../../Connections/Connexionlibest.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$Vlog_login = "dddd";
if (isset($_GET['login22'])) {
$Vlog_login = (get_magic_quotes_gpc()) ? $_GET['login22'] : addslashes($_GET['login22']);
}
mysql_select_db($database_Connexionlibest, $Connexionlibest);
$query_login = sprintf("SELECT * FROM annonceur WHERE annonceur.login=%s", GetSQLValueString($Vlog_login, "text"));
$login = mysql_query($query_login, $Connexionlibest) or die(mysql_error());
$row_login = mysql_fetch_assoc($login);
$totalRows_login = mysql_num_rows($login);
if($totalRows_login !=0) {echo(1);} else {echo(2);}
?>
<?php
mysql_free_result($login);
?> |
Voila mon probleme est que apparament le script php ne s'éxécute pas, il renvoit le bon résultat (echo) quand je met mes variables en dur.
Pouvez vous m'aider svp, merci