Prob récupiration des var ajax en php

Fermé
jjozzeph Messages postés 19 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 17 juin 2009 - 19 mai 2009 à 10:39
oscarapace Messages postés 56 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 19 juin 2009 - 19 mai 2009 à 14:19
Bonjour,
probléme de récupiration des variable en php méthode $_GET

voila le code

send.js


<!--

// Get the HTTP Object

function getHTTPObject(){

if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");

else if (window.XMLHttpRequest) return new XMLHttpRequest();

else {

alert("Your browser does not support AJAX.");

return null;

}

}



// affichage

function Affiche(){

if(httpObject.readyState == 4){

document.getElementById('affiche').value = httpObject.responseText;


}



}

function verifnserie()
{
httpObject = getHTTPObject();

if (httpObject != null) {

httpObject.open("GET",'reserv1.php',true);
//----------------------------------------------------
arr = document.getElementById('arr').value;
nbr_ad = document.getElementById('nbr_ad').value; //alert(nbr_ad);
nbr_enfant = document.getElementById('nbr_enfant').value;
nbr_bb = document.getElementById('nbr_bb').value;

donnees = "arr="+arr+"&nbr_ad="+nbr_ad+"&nbr_enfant="+nbr_enfant+"&nbr_bb="+nbr_bb;
//alert(donnees);
httpObject.onreadystatechange = Affichage;
httpObject.send(donnees);


}
}

var httpObject = null;

//-->

page.php

<div id="affiche">

if(isset($_GET['nbr_ad'])) echo $nbr_ad=$_GET['nbr_ad'];

</div>

echo n'affiche rien malgré lorsque j' alert(nbr_ad); en js je trouve le variable


merci d'avance !

4 réponses

oscarapace Messages postés 56 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 19 juin 2009 14
19 mai 2009 à 10:44
pour voir le contenu de $_GET fait un var_dump($_GET)
si c'est vide, et bien c'est ta fonction ajax qui doit être mal utilisée
0
jjozzeph Messages postés 19 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 17 juin 2009
19 mai 2009 à 11:12
voila un code plus simple

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Ajax - PHP example</title>

</head>



<body>



<script language="javascript" type="text/javascript">

<!--

// Get the HTTP Object

function getHTTPObject(){

if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");

else if (window.XMLHttpRequest) return new XMLHttpRequest();

else {

alert("Your browser does not support AJAX.");

return null;

}

}



// affichage

function affiche(){

if(httpObject.readyState == 4){

document.getElementById('cont').value = httpObject.responseText;


}



}

function verifnserie()
{
httpObject = getHTTPObject();

if (httpObject != null) {

httpObject.open("GET",'reserv1.php',true);
//----------------------------------------------------

nbr_ad = document.getElementById('nbr_ad').value; //alert(nbr_ad);


donnees = "nbr_ad="+nbr_ad;


httpObject.send(donnees);


}
}

var httpObject = null;

//-->




</script>



<form name="frm" >
<select onChange="verifnserie()" name="nbr_ad" id="nbr_ad" >
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>



</form>


<div id="cont">
<?php if (isset($_GET['nbr_ad']))

echo var_dump($_GET['nbr_ad']);

?>
</div>
</body>

</html>
0
jjozzeph Messages postés 19 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 17 juin 2009
19 mai 2009 à 11:15
message de console d'erreurs

Deprecated method document.getSelection() called. Please use window.getSelection() instead.
0
oscarapace Messages postés 56 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 19 juin 2009 14
19 mai 2009 à 14:19
pour commencer ta fonction ajax a pas l'air d'etre très récente,
crée donc un fichier xmlhttp.js dans lequel tu mets :

var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}


ensuite tu ajoute une balise script dans ton header pour insérer ce fichier xmlhttp.js
pour ta fonction essaye plutot

function verif() {

xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4)
{
if(xmlhttp.status == 200)
document.getElementById('cont').value = xmlhttp.responseText;
else
alert('Erreur '+xmlhttp.status);
}
};

sel = document.getElementById("nbr_ad");
var param_nbr_ad = sel.options[sel.selectedIndex].text;

xmlhttp.open( "GET", "reserv1.php?nbr_ad="+encodeURIComponent(param_nbr_ad), true);
xmlhttp.send(null);

}

pour la ligne

var param_nbr_ad = sel.options[sel.selectedIndex].text;

ça dépend si tu veux utiliser la partie affichée ou la valeur de l'option
<option value="valeur">partie affichée</option>
0