bonsoir
je veux transmettre une variable d'une page php vers une autre page php via ajax, dans la 1 ere page php (trace.php) j'ai un input et une liste déroulante, quand je déroule la liste le contenu de ma page change en fonction de la valeur, cela est fait, mais le problème c'est que je veux transmettre avec cette liste déroulante un id.

voici ma page php (trace.php)
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
echo '<link rel="stylesheet" href="styles.css">';
require('../../config.php');
require_once($CFG->dirroot.'/course/lib.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->dirroot.'/report/suivi/lib.php');
$id = required_param('id',PARAM_INT); 
echo "
<script type='text/javascript' src='js/liste_dynamique_ajax.js'></script>
<form action='trace.php' method='post'>
 
        <input id='course' name='course' value=".$id." />
         
        <center><label for='trace'>Evenement</label>
        <select name='trace' id='trace' onchange='go()'>
            <option value='-1'> Choisir un évenement</option>
            <option value='1'>".get_string('nbr_acc', 'report_suivi')."</option>
            <option value='2'>".get_string('nbr_page', 'report_suivi')."</option>
            <option value='3'>".get_string('nbr_fichier', 'report_suivi')."</option>
            <option value='4'>".get_string('nbr_msg', 'report_suivi')."</option>
            <option value='5'>".get_string('nbr_elt', 'report_suivi')."</option>
            <option value='6'>".get_string('nbr_tentativ', 'report_suivi')."</option>
        </select></center>
</form>
<div id='resultat' style='display:inline'>
</div>
";
?>

ma page js (liste_dynamique_ajax.js)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function go(){
                var xhr = getXhr();
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                    // 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){
                        leselect = xhr.responseText;
                        // On se sert de innerHTML pour rajouter les options a la liste
                        document.getElementById('resultat').innerHTML = leselect;
                        document.getElementById('resultat').value = leselect;
 
 
                    }
                }
 
                // Ici on va voir comment faire du post
                xhr.open("POST","ajax_liste.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                sel = document.getElementById('trace');
                idtrace = sel.options[sel.selectedIndex].value;
                sel2 = document.getElementById('course');
                idcourse = sel2.options[sel2.selectedIndex].value;
                xhr.send("trace="+idtrace+"&id="+idcourse);
 
 
 
            }
et ma page php où je désire passé mon paramètre
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php   
 
if(isset($_POST["trace"])){
 
                                    switch($_POST["trace"]){
                                    case 1: echo $_POST["id"]; break;
                                    case 2: echo 'nombre de page';break;
                                    case 3: echo 'nombre de fichier';break;
                                    case 4: echo 'nombre de message';break;
                                    case 5: echo 'nombre délément';break;
                                    case 6: echo 'nombre de tentative';break;
 
                                    }      
 
    }?>

$_post['id'] est inconnu

Merci bien d'avance pour votre aide