Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2760 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Ajax] problème d'appel à un fichier php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Ajax] problème d'appel à un fichier php

n°2089496
Light bulb​e
Posté le 14-07-2011 à 21:25:36  profilanswer
 

Bonjour,
 
J'ai un petit problème avec l'écriture d'un bout de javascript auquel je ne connais hélas pas grand chose et les tutoriaux ne m'aident plus beaucoup sur mon problème.
 
Mon idée est simple, j'ai un fichier index.php qui contient le code suivant :
 

Code :
  1. <html>
  2. <head>
  3. <script type="text/javascript" src="./ajax.js"></script>
  4. </head>
  5. <body>
  6. <form method="POST" action="add.php">
  7. <div style="background-color :#ccc; margin: 0px;">
  8. <div style="position: absolute; top:10; left:10; align="left"; width: 400px;">
  9.   <p>Login :</br>
  10.    <input type="text" name="login" size="20" value="<?php include("generator.php" ); ?>" maxlength="255">
  11.   </p>
  12.   <p>Password :</br>
  13.    <input type="text" name="passwd" size="20" value="<?php include("pw_generator.php" ); ?>" maxlength="255">
  14.   </p>
  15.   <p>Titre du site :</br>
  16.    <input type="text" name="titre" size="40" value="" maxlength="255">
  17.   </p>
  18.   <p>URL du site :</br>
  19.    <input type="text" name="url" size="40" value="" maxlength="255">
  20.   </p>
  21. </div>
  22. <div style="position: absolute; top:60; left:410; align="left"; width: 200px;">
  23.   <p>Mot de passe maitre :</br>
  24.    <input type="password" name="master_pw" size="20" value="" maxlength="255"></br>
  25.   </p>
  26.    <input type="submit" value="Envoyer" name="envoyer">
  27. </form>
  28. </div>
  29. </div>
  30. <div style="position: absolute; top:300; left:10; align="left"; width: 200px;">
  31. <form>
  32.   <p>Mot de passe maitre :</br>
  33.    <input type="password" id="master_pw2" name="master_pw2" size="20" value="" maxlength="255">
  34.    <input type="button" value="Interroger" onclick="submitForm()">
  35.   </p>
  36. <br clear="all" />
  37. </form>
  38.   </div>
  39.   <div id="divTable" style="position: absolute; top:400; left:10; align="left"; width: 1000px;">
  40.   </div>
  41. </body>
  42. </html>


 
Donc, dans la div située en valeur absolue top:300 j'aimerais y faire apparaitre le résultat du fichier php nommé tg.php. Initialement c'était un fichier beaucoup plus long et compliqué, mais comme rien n'apparaissait, j'ai simplifié pour débugger au mieux et tg.php ne contient qu'une fonction echo, à savoir :
 

Code :
  1. <?php
  2. echo "tada";
  3. ?>


 
J'espère donc appeler ce fichier tg.php par le code javascript suivant :
 
 

Code :
  1. function submitForm()
  2. {
  3.     var xhr;
  4.     try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
  5.     catch (e)
  6.     {
  7.         try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
  8.         catch (e2)
  9.         {
  10.           try {  xhr = new XMLHttpRequest();     }
  11.           catch (e3) {  xhr = false;   }
  12.         }
  13.      }
  14.     xhr.onreadystatechange  = function()
  15.     {
  16.          if(xhr.readyState  == 4)
  17.          {
  18.               if(xhr.status  == 200)
  19.                  document.ajax.dyn="Received:"  + xhr.responseText;
  20.               else
  21.                  document.ajax.dyn="Error cpp " + xhr.status;
  22.          }
  23.     };
  24.   var mpw = document.getElementById("master_pw2" );
  25.   alert(""+mpw.value+"" );
  26.   var url = "tg.php";
  27.   xhr.open("POST", url, true);
  28.   xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencppd" );
  29.   xhr.send("master_pw2="+mpw.value);
  30. }


 
Voilà et donc mon problème c'est que je n'ai rien qui apparait dans ma page quand je teste dans mon navigateur, cliquer sur le bouton interroger ne fait rien (à part l'alerte).
 
L'alerte qui m'envoie la variable mpw marchant bien, j'en déduis que j'ai raté un truc avec la fonction xhr.open, xhr.setRequestHeader ou xhr.send (c'est vrai que send ne sert à rien pour le fichier tg.php, mais j'imagine qu'il ne gène pas non plus et de toute façon le fichier original lui en a bien besoin).
 
Si vous avez une idée sur ce que j'ai fais de travers je suis preneur.
 
Merci d'avance.

mood
Publicité
Posté le 14-07-2011 à 21:25:36  profilanswer
 

n°2089746
cetplus
Wazard dans l'ombre
Posté le 17-07-2011 à 07:18:37  profilanswer
 

Pourquoi tu renvoi pas la méthode post sur ta page .php pour ensuite la traiter ? Ça te permettra de changer directement le contenu de ta page sans utiliser du activeX (qui marche uniquement sur IE).

 

Au début tu met que si la variable $_POST["master_pw2"] n'est pas reconnu on affiche ta page (la 1ère en haut). Sinon si on trouve la variable, on affiche une page similaire contenant les informations nécessaires (une iframe + mdp ...).
Bonne chance.


Message édité par cetplus le 17-07-2011 à 07:18:50

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Ajax] problème d'appel à un fichier php

 

Sujets relatifs
Problème création base de données relationnelle sur Accessappel de class php dans un formulaire (action)
Problème de récuperation de variblesProblème script d'ouverture de session
[C++] Extraire images d'un fichier mxf avec Mxflibproblème classe php
probléme de dtpickerProblème fonction mail()
Mettre une icone pour la compilation du fichier exe 
Plus de sujets relatifs à : [Ajax] problème d'appel à un fichier php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR