Prob récupiration des var ajax en php

jjozzeph Messages postés 26 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 !
Configuration: Windows XP
Firefox 3.0.10

4 réponses

  1. oscarapace Messages postés 58 Statut Membre 14
     
    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
  2. jjozzeph Messages postés 26 Statut Membre
     
    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
  3. jjozzeph Messages postés 26 Statut Membre
     
    message de console d'erreurs

    Deprecated method document.getSelection() called. Please use window.getSelection() instead.
    0
  4. oscarapace Messages postés 58 Statut Membre 14
     
    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