bonjour,
j'ai un probleme avec une variables post. Je n'arrive pas a la faire passer d'un fichier a l'autre
voici mon fichier de "main" ->ram.php
voici mon fichier .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
30
31 <!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> <title>Tutoriel Ajax (XHTML + JavaScript + XML)</title> <script type="text/javascript" src="../tuto.js"></script> </head> <body> <form method="post"> <fieldset style="width: 500px"> <legend>Générateur de prix</legend> <label>Ram</label> <select name='ram' id='ram' onchange='go()'> <option value='-1'>Aucune</option> <? require 'ajax.php'; connect(); reqSql(); //$_POST["nom"]="2 giga"; echo $_POST["nom"]; echo " </select> <label>Descriptions</label> <div id='livre' style='display:inline'>"; include 'desc.php'; ?> </div> </fieldset> </form> </body> </html>
voici mon fichier qui est censé envoyé la variable post --> ajax.php
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 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 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('desc').innerHTML = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","desc.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 // ici, l'id de l'auteur sel = document.getElementById('nom'); nom = sel.options[sel.selectedIndex].value; xhr.send("nom="+nom); }
voici le fichier qui est censé recevoir la variable $_POST['nom'] ->desc.php
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 <? function connect(){ mysql_connect("localhost","root",""); mysql_select_db("asocom"); } function reqSql(){ $res = mysql_query("SELECT * FROM conf_ram ORDER BY nom"); while($row = mysql_fetch_assoc($res)){ echo "<option value='".$row["id"]."'>".$row["nom"]."</option>"; } //return $_POST['nom']=$row["nom"]; } ?>
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 <?php require_once'ajax.php'; echo "<textarea name='desc' cols='20' rows='20' border='0'>"; echo ; if(isset($_POST["nom"])){ connect(); $nom=$_POST["nom"]; $res = mysql_query("SELECT * FROM conf_ram WHERE nom='$nom' ORDER BY nom"); while($row = mysql_fetch_assoc($res)){ echo $row["description"]; } } echo "</TEXTAREA>"; ?>
Merci
Partager