Pb AJAX avec PHP

Romain -  
jb00ster Messages postés 57 Statut Membre -
Bonjour,
Voila je veux faire un site avec de l'ajax mais j'ai un gros probleme:

Voila quand j'envoie les donnée du formulaire par ajax au script php et quand je test si la variable "login" contient des données (je sais que des données son evoyées). Le script me dit qu'il n'y en a pas. Voici le code source:


login.php (formulaire):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" type="text/javascript" src="js/bull.js"></script>
<script language="javascript" type="text/javascript" src="js/fonction.js"></script>
<script type='text/JavaScript'>

function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr
}

/**
* Méthode qui sera appelée sur le click du bouton
*/
function signin(login,password){
document.getElementById('infologin').innerHTML+="Login: "+login+"\n";
document.getElementById('infologin').innerHTML+="Password: *********\n\n";

var xhr = getXhr()
xhr.open("POST","loginmembre.php",true);
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
if (xhr.readyState == 1){
document.getElementById('infologin').innerHTML+="[+] Initialisation...\n";
}

if (xhr.readyState == 2){
document.getElementById('infologin').innerHTML+='[+] Envoi des données...\n';
}

if (xhr.readyState == 3){
document.getElementById('infologin').innerHTML+='[+] Traitement des données...\n\n';
}
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
if (document.getElementById){
if(xhr.responseText=='true'){
alert('C\'est super !!!!!!!!!!!!');
} else {

alert('Et non encore false');
}

//alert(login);
//alert(password);
document.getElementById('infologin').innerHTML+=xhr.responseText;
}
}
}

xhr.send('login='+login+'&password='+password);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
}
</script>



</head>

<form name="frmlogin" method="post">
<table class="form" style="width:445px" >

<tr>
<td style="width:232px">
<table>
<div id="curseur" class="infobulle">

<tr>
<td style="height:40px" onmouseover="montre('Veuillez saisir votre Login');" onmouseout="cache();"><input name="login" type="text" value="Login:" onblur="if (this.value=='') {this.value='Login:'}" onFocus="if (this.value=='Login:') {this.value=''}"></td>

</tr>

<tr>
<td style="height:40px" onmouseover="montre('Veuillez saisir votre Mot de Passe');" onmouseout="cache();"><input name="password" type="text" value="Mot de Passe:" onblur="if (this.value=='') {this.value='Mot de Passe:'}" onFocus="if (this.value=='Mot de Passe:') {this.value=''}"></td>

</tr>

<tr>
<td><a href="#" style="font-size:13px;" onclick="document.getElementById('login').reset()">RESET</a><img src="images/spacer.gif" alt="" width="17" height="1"><a href="#" style="font-size:12px;" onclick="signin(document.frmlogin.login.value,document.frmlogin.password.value);">ENVOYER</a></td>
<!--<input type="submit" value="valider">-->
</tr>


</table>
<br style="line-height:29px">
<textarea id="infologin" cols="0" rows="0" style="height:170px;display:block;"></textarea>
</td>

</table>
</form>














Script.php(La ou les données sont envoyées):

<?php


if(isset($_POST['login'])){
echo "true";
} else {
echo "false";
}


//sleep(3);
//$pass = "sss";
//echo $pass;

?>



Voila j'ai toujours FALSE


Merci d'avance
A voir également:

2 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
Bonsoir,
modifie cette partie tu avait mis la ligne trop tard dans ton script

var xhr = getXhr()
xhr.open("POST","loginmembre.php",true);
//changer le type MIME de la requête pour envoyer des données avec la méthode POST ,  !!!! cette ligne doit etre absolument apres xhr.open('POST'....
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
0
Romain
 
Merci Beaucoup ca marche !!!!!!!!!!!!!!!!!
0
jb00ster Messages postés 57 Statut Membre
 
noublies pas de mettre le statut de ton messg en "Resolu"
0