Pb AJAX avec PHP
Romain
-
jb00ster Messages postés 57 Statut Membre -
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
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:
- Pb AJAX avec PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Retour a la ligne php - Forum Webmastering
- Retour à la ligne php ✓ - Forum PHP
2 réponses
Bonsoir,
modifie cette partie tu avait mis la ligne trop tard dans ton script
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');
Romain
Merci Beaucoup ca marche !!!!!!!!!!!!!!!!!