Bonjour à tous
Bon je viens de me coltiner tout ce que j'ai pu sur le sujet sans trouver de solution à mon souci simple.
Bon j'ai un formulaire d'identification simple avec 2 input
Je souhaite envoyer ces info dans un fichier PHP pour traitement afin qu'ensuite je puisse récupérer un morceau de texte à afficher quelque part dans un DIV 'resultat' en foncion du résultat du traitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form id="formconnexion"> <div class="server-info" id="resultat">Connectez-vous !</div> <div class="server-info">identifiant <input type="text" name="login" id="login2" style="font-size: smaller; width: 70px;" value=""/></div> <div class="server-info">Mot de passe <input type="password" name="pass" id="password2" style="font-size: smaller; width: 70px;" value=""/> <input type="submit" name="connexion" value="Connexion" onchange="go()"/> </div> <a href="#" class="button red" title="Logout"> <span class="smaller">LOGOUT</span></a> </form>
Je me sers donc d'AJAX !!!
et j'ai cela comme fonctions js :
Et mon fichier PHP est celui-ci :
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
45
46
47
48
49
50
51
52
53 <script type="text/javascript"> function getXMLHttpRequest() { var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject) { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null; } return xhr; } function go(){ var xhr = getXMLHttpRequest(); // 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){ txtAafficher = xhr.responseText; document.getElementById('resultat').innerHTML = txtAafficher; alert(txtAafficher); } else { alert('There was a problem with the request.'); } } // Ici on va voir comment faire du post xhr.open("POST","page.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // POST des arguments // ici, le login et le mot de passe // Cette forme-là var argLogin = encodeURIComponent(document.getElementById('login2').value); var argPass = encodeURIComponent(document.getElementById('password2').value); // ou celle-ci // var login = encodeURIComponent(document.getElementById("login2").value); // var pass = encodeURIComponent(document.getElementById("password2").value); var data = "login=" + argLogin + "&pwd" + argPass; xhr.send(data); } </script>
Alors mon souci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php header("Content-Type: text/plain"); $login = (isset($_POST["login"])) ? $_POST["login"] : NULL; $pass = (isset($_POST["pass"])) ? $_POST["pass"] : NULL; if ($login && $pass) { echo "Bonjour " . $login . " ! Je vois que votre mot de passe est " . $pass; } else { echo "FAIL"; } ?>
Mon URL de départ est du style localhost/dossierXX/ dans lequel donc réside mon index.php
Après avoir cliqué sur mon bouton de formualaire mon URL devient
'http://localhost/AA_Template-Constellation/php/?login=admin&pass=aaaaa&connexion=Connexion'
Donc je ne comprends pas pourquoi ce comportement vu que je suis en POST
Auriez-vous une idée ?
Et mon résultat ne s'affiche pas dans mon div resultat
Auriez-vous une idée ?
Merci d'avance
Partager