bonjour,
j'essaye d'afficher dynamiquement la disponibilité d'un pseudo lors de l'inscription d'un utilisateur.
Je possède une page form.php contenant entre autre
à la validation du formulaire, on passe par un validForm.php et vers une fonction
Le javascript contient deux fonctions visant à vérifier la disponibilité ou non du pseudo. Celles si sont déclanchées par
username.setAttribute('onKeyUp', 'verifUsername(username)');
Voici les deux fonctions
et enfin, voici verifUsername.php
tout ça pour dire que mon javascript pose problème car
- les autres champs vérifiés par celui-ci s'affichent dynamiquement et correctement
- lorsque je valide le formulaire avec un pseudo déjà utilisé, il m'affiche bien que le pseudo est déjà utilisé
- mais lorsque je saisie un pseudo, aucun message ne s'affiche...
Pour ceux qui voudrait voir la bête en action :
http://musemessenger.com/Sylvain/form.php
Je sais que ça fait beaucoup de code pour quelqu'un qui ne baigne pas dedans, mais vraiment là je vois pas d'où vient l'erreur
j'essaye d'afficher dynamiquement la disponibilité d'un pseudo lors de l'inscription d'un utilisateur.
Je possède une page form.php contenant entre autre
<p>
<label>Nom d'utilisateur : </label>
<input type="text" id="username" name="username" maxlength="50" value="<?php print $_POST["username"];?>" />
<span id="username_alert"><?php print $message["username"];?></span>
</p>
à la validation du formulaire, on passe par un validForm.php et vers une fonction
function verifDispoUsername($username) {
$dispo = false;
if($connection){
echo "connecteBBD, ";
if(mysql_select_db(BDD)){
$result = mysql_query("SELECT pseudo FROM inscrit WHERE pseudo='".$username."'");
if(mysql_num_rows($result)==0)
$dispo = true;
return $dispo;
}
mysql_close($connection);
}
return $dispo;
}
Le javascript contient deux fonctions visant à vérifier la disponibilité ou non du pseudo. Celles si sont déclanchées par
username.setAttribute('onKeyUp', 'verifUsername(username)');
Voici les deux fonctions
function verifUsername(username) {
var XHR = new XHRConnection();
XHR.appendData("username", username.value);
XHR.sendAndLoad("verifUsername.php", "POST", afficheDispo);
}
function afficheDispo(obj) {
username_alert = document.getElementById('username_alert');
// suppression du texte existant
while(username_alert.firstChild != null) {
username_alert.removeChild(username_alert.firstChild);
}
// Construction des noeuds
var tabResult = obj.responseXML.getElementsByTagName('resultat');
var resultat = tabResult.item(0);
var dispo = resultat.getAttribute('dispo');
// creation du message suivant le cas
if (dispo == "dispo") {
var texte = document.createTextNode("Le nom d'utilisateur est disponible");
username_alert.appendChild(texte);
} else {
if (dispo == "indispo") {
var texte = document.createTextNode("Le nom d'utilisateur n'est pas disponible");
username_alert.appendChild(texte);
}
}
}
et enfin, voici verifUsername.php
<?php
include("function.php");
// recupération du username
$username = $_POST["username"];
// on verifie que le username est dispo
if($username != "" && verifDispoUsername($username)) {
$dispoUsername = "dispo";
} else {
$dispoUsername = "indispo";
}
if($username == '')
$dispoUsername = "vide";
// on cree une feuille xml
header('Content-type: text/xml');
// on retourne le resultat sous format xml
$xml = '<resultats>';
$xml .= '<resultat dispo="'.$dispoUsername.'" />';
$xml .= '</resultats>';
print $xml;
?>
tout ça pour dire que mon javascript pose problème car
- les autres champs vérifiés par celui-ci s'affichent dynamiquement et correctement
- lorsque je valide le formulaire avec un pseudo déjà utilisé, il m'affiche bien que le pseudo est déjà utilisé
- mais lorsque je saisie un pseudo, aucun message ne s'affiche...
Pour ceux qui voudrait voir la bête en action :
http://musemessenger.com/Sylvain/form.php
Je sais que ça fait beaucoup de code pour quelqu'un qui ne baigne pas dedans, mais vraiment là je vois pas d'où vient l'erreur