Prob récupiration des var ajax en php
jjozzeph
Messages postés
26
Statut
Membre
-
oscarapace Messages postés 58 Statut Membre -
oscarapace Messages postés 58 Statut Membre -
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 !
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 !
Configuration: Windows XP Firefox 3.0.10
4 réponses
-
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 -
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> -
message de console d'erreurs
Deprecated method document.getSelection() called. Please use window.getSelection() instead. -
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>