[AJAX] La condition sur responseText ne fonctionne pas !
Bonjour à tous!!
J'ai posté récemment où avec votre aide je suis arrivé à obtenir le réponse du serveur. Malheureusement cette réponse me donne du fil à retordre. Toutes les conditions que je mets sur cette réponse ne marche pas alors je sollicite votre aide à nouveau. Voici mon code:
1-code du formulaire :
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
|
<form name="log_user" method="POST">
<table width="119%" border="0" align="center">
<tr >
<td colspan="2" align="center"></td>
<tr>
<td colspan="2" class="lienbleugras"> </td>
</tr>
<tr>
<td class="corps">Nom utilisateur </td>
<td><input name="login_user" type="text" id="login_user" /></td>
</tr>
<tr>
<td class="corps">Mot de passse </td>
<td><input name="password_user" type="password" id="password_user" /></td>
</tr>
<tr>
<td> </td>
<td>
<input name="connexion" value="log_user" type="hidden" >
<input type="button" name="Submit" value="Valider" onclick="recupereParametre(login_user.value, password_user.value);"></td>
</tr>
</table>
</form> |
2- Code php de recupération
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<?php
mysql_connect("localhost","root","");
mysql_select_db("dbmedia") or die('Impossible de sélectionner une base de donnée.');
$result = mysql_query("SELECT * FROM tb_user");
while($donnees = mysql_fetch_array($result))
{
if($donnees['login'] == $_POST['login'])
{
if($donnees['Pword'] == $_POST['Pword'])
{
echo "true";//$donnees['Pword'];
}
}
}
?> |
3-Code Js:
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
var xhr = null
const m= "Utilisateur ou mot de passe incorrecte"
const url = "site_admin/administration.php";
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
//xhr.overrideMimeType('text/xml');
}
else
{
if(window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest");
}
}
function recupereParametre(login, Pword)
{
xhr.onreadystatechange = function() {
if(xhr.readyState==1)
{
alert(xhr.readyState + ": " + xhr.responseText)
}
if(xhr.readyState==2)
{
alert(xhr.readyState + ": " + xhr.responseText)
}
if(xhr.readyState==3)
{
alert(xhr.readyState + ": " + xhr.responseText)
}
if((xhr.readyState==4) && (xhr.status ==200))
{
if(xhr.responseText=="true")
{
alert(xhr.readyState + ": " + xhr.responseText +' status:'+xhr.status);
document.location.href = url;
}
else if(xhr.responseText!="true")
{
alert(xhr.readyState + ": mauvais");
var letext = document.getElementById("messageErr");
letext.innerHTML == "";
letext.innerHTML = m;
}
}
};
xhr.open("POST","parametre.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("login="+login+"&Pword="+Pword); |
avec les "alert()" que j'ai placé dans les différents readyState je vois bien que la réponse qui doit être "true" est bien récupéré mais la condition
Code:
if(xhr.responseText == "true")
ne fonctionne pas.
Merci de votre aide.