j'ai une autre solution c'est de mettre $idp='.var1.'-'.var2.'-'.var3.' et de les traiter apres dans data.hp mais je voudrais quand meme le faire avec des variables separées
Version imprimable
j'ai une autre solution c'est de mettre $idp='.var1.'-'.var2.'-'.var3.' et de les traiter apres dans data.hp mais je voudrais quand meme le faire avec des variables separées
Je sais pas si ça joue mais avant le send je mets toujours cette ligne :
Code:req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; Charset=iso-8859-1');
ca ne change rien ! l'erreur est la :
Code:req.open("POST", "data.php?idp="+document.getElementById('idp').value"&x="+document.getElementById('x').value, true);
il manque un plus après le premier value !!!
marche pas !
Code:req.open("POST", "data.php?idp="+document.getElementById('idp').value+"&x="+document.getElementById('x').value, true);
C'est étrange parce que ça fonctionne chez moi avec ce code :
et pour data.phpCode:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 <html> <script language="JavaScript"> function submitForm() { alert(document.getElementById('idp').value); var req = null; document.getElementById("zone").innerHTML = "Started..."; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) { req.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } req.onreadystatechange = function() { document.getElementById("zone").innerHTML = "Wait server..."; if(req.readyState == 4) { if(req.status == 200) { document.getElementById("zone").innerHTML = "" + req.responseText; } else { document.getElementById("zone").innerHTML="Error: returned status code " + req.status + " " + req.statusText; } } }; req.open("POST", "data.php", true); req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; Charset=iso-8859-1'); req.send("idp="+document.getElementById('idp').value+"&x="+document.getElementById('x').value); } </script> <body> <FORM name="ajax" method="POST" action=""> <p> <INPUT type="BUTTON" value="Submit" ONCLICK="submitForm()"> <input name="idp" type="hidden" id="idp" value="1" /> <input name="x" type="hidden" id="x" value="2" /> </p> </FORM> <div id="zone"> Waiting... </div> </body> </html>
et il m'affiche bien les 2 valeursCode:
1
2
3
4
5 <?php $idp = $_POST['idp']; $x = $_POST['x']; echo "la valeur de idp est :".$idp."<br />Et celle de x est ".$x; ?>
peu etre un reglage du serveur ?
J'ai rien paramétré coté serveur de mon coté.
Si tu copies colle mon code dans un fichier test ça fonctionne?
Peut-être un problème de codage, essaye :
Code:req.open("POST", "data.php?idp="+document.getElementById('idp').value+"&x="+document.getElementById('x').value, true);