Accueil > AJAX , PHP > HTTP POST de formulaire en PHP utilisant AJAX

HTTP POST de formulaire en PHP utilisant AJAX

Cet exemple démontre HTTP POST de formulaire à remplir le formulaire HTML sur le serveur et l'affichage de la réponse en utilisant AJAX.

HTML de la page

 "text/javascript" > var time_variable ; function getXMLObject ( ) //XML OBJECT { var xmlHttp = false ; try { xmlHttp = new ActiveXObject ( "Msxml2.XMLHTTP" ) // For Old Microsoft Browsers } catch ( e ) { try { xmlHttp = new ActiveXObject ( "Microsoft.XMLHTTP" ) // For Microsoft IE 6.0+ } catch ( e2 ) { xmlHttp = false // No Browser accepts the XMLHTTP Object then false } } if ( ! xmlHttp && typeof XMLHttpRequest != 'undefined' ) { xmlHttp = new XMLHttpRequest ( ) ; //For Mozilla, Opera Browsers } return xmlHttp ; // Mandatory Statement returning the ajax object created } var xmlhttp = new getXMLObject ( ) ; //xmlhttp holds the ajax object function ajaxFunction ( ) { var getdate = new Date ( ) ; //Used to prevent caching during ajax call if ( xmlhttp ) { var txtname = document. getElementById ( "txtname" ) ; xmlhttp. open ( "POST" , "testing.php" , true ) ; //calling testing.php using POST method xmlhttp. onreadystatechange = handleServerResponse ; xmlhttp. setRequestHeader ( 'Content-Type' , 'application/x-www-form-urlencoded' ) ; xmlhttp. send ( "txtname=" + txtname. value ) ; //Posting txtname to PHP File } } function handleServerResponse ( ) { if ( xmlhttp. readyState == 4 ) { if ( xmlhttp. status == 200 ) { document. getElementById ( "message" ) . innerHTML = xmlhttp. responseText ; //Update the HTML Form element } else { alert ( "Error during AJAX call. Please try again" ) ; } } } </ script > <body> <form name="myForm"> <table> <tr> <td>Enter Name</td> <td><input type="text" name="txtname" id="txtname" /></td> </tr> <tr> <td colspan="2"><input type="button" value="Submit" onclick="ajaxFunction();" /></td> </tr> </table> <div id="message" name="message"></div> </form> </body> </head> </html> <html> <head> <title> PHP en utilisant AJAX </ title> type de script <= "text / javascript" time_variable var>; getXMLObject function () / / XML Object (var xmlHttp = false; try (xmlHttp = new ActiveXObject ( "Msxml2.XMLHTTP") / / Pour Old Microsoft Navigateurs) catch (e) (try (xmlHttp new ActiveXObject = ("Microsoft.XMLHTTP") / / Pour Microsoft IE 6.0 +) catch e2) ((xmlHttp = false / / Non navigateur accepte l'objet XMLHTTP puis false)) if (! xmlHttp & & typeof XMLHttpRequest! = "undefined") (xmlHttp = new XMLHttpRequest (); / / Pour Mozilla, Navigateurs) xmlHttp retour Opera; / / obligatoire Déclaration retour de l'ajax objet créé var =) XMLHTTP getXMLObject new (); / / XMLHTTP détient la fonction objet ajaxFunction ajax () (var = getdate new Date (); / / Utilisé pour prévenir la mise en cache pendant un appel ajax if (xmlhttp) (var = txtName document. getElementById ( "txtName"); XMLHTTP. open ("POST", "testing.php", true); / / testing.php appel en utilisant la méthode POST XMLHTTP. onreadystatechange = handleServerResponse; XMLHTTP. setRequestHeader ("Content-Type", "application / x-www-form-urlencoded '); XMLHTTP. send ("txtName =" + txtName. valeur); / / Affichage txtName de fichiers PHP)) handleServerResponse function () (if (xmlhttp. readyState == 4) (if ( XMLHTTP. status == 200) (document. getElementById ("message"). innerHTML = XMLHTTP. responseText; / / mise à jour de l'élément de formulaire HTML) else (alert ("Erreur lors de l'appel AJAX. S'il vous plaît essayer de nouveau");))) </ script> <body> <form name="myForm"> <table> <tr> <td> Entrée <Nom / td> <td> <input type = "text" name = "txtName" id = "txtName" /> </ td> </ tr> <tr> <td colspan="2"> <input type="button" value="Soumettre" onclick="ajaxFunction();" /> </ td> </ tr > </ table> <div id="message" name="message"> </ div> </ form> </ body> </ head> </ html> 

PHP Code

  <?

 $_POST [ 'txtname' ] ; $ A = $ _POST ['txtName'];

 . $a ; echo "Good Morning". $ a;


 ?> 

Votre email:

Explication du code AJAX

Ici, j'ai déclaré 3 fonctions JavaScript:
getXMLObject () - Responsable de la création de l'objet AJAX selon le navigateur
ajaxFunction () - responsable de la convocation page PHP via un appel AJAX
handleServerResponse () - Responsable pour l'affichage des données récupérées à partir du serveur

Comment fonctionne le code AJAX:

  • Lorsque le chargement de la page je crée un objet AJAX en appelant la getXMLObject () et retourner l'objet créé dans la variable XMLHTTP
  • Lorsque l'utilisateur clique sur l'entrée, Button ajaxFunction () est appelée pour savoir si des vérifications qui l'objet Ajax est créé ou non et en fonction de qui appelle le script distant. Voici une fonction de gestion de handleServerResponse est également définie pour la récupération de la valeur à partir du serveur
  • Lorsque le readyState de l'appel AJAX atteint 4 et le statut HTTP est de 200, nous passons les données récupérées depuis le serveur vers la zone de texte

Explication du code PHP

  • Je demande $ _POST pour récupérer le contenu du message envoyer par le biais d'appels Ajax
  • Enfin je demande d'écho pour envoyer la réponse Retour à la page d'appel


Recherche personnalisée

Articles populaires:

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: , , Catégories: AJAX , PHP Tags: , ,
  1. Avril 5th, 2008 à 06:07 | # 1

    Good site I "Stumbledupon" aujourd'hui et lui a donné un faux pas pour vous .. hâte de voir ce que vous avez .. plus tard

  2. Ravi
    Novembre 22, 2008 à 02:16 | # 2

    Vous avez fait du bon travail

  3. Mehmet
    8 mai 2009 à 04:13 | # 3

    Nice post, Merci.

  4. 22 mai 2009 à 12:34 | # 4

    Excellent tutoriaux pal .... Je cherchais ce depuis longtemps, et finalement trouvé un!
    Merci

  5. Yigit
    30 mai 2009 à 00:49 | # 5

    Je vous remercie beaucoup. Il fonctionne parfaitement!

  6. Juin 23, 2009 à 05:05 | # 6

    Salut où il est

  7. Qu'en est-il?
    Août 16, 2009 à 20:50 | # 7

    Qu'en est-il si l'on utilise plus d'une entrée??

    • Août 18, 2009 à 02:45 | # 8

      Salut,
      Oui vous pouvez faire appel AJAX avec plus d'une entrée.
      Dites si vous avez deux TextBox (TextBox1 et TextBox2) dans votre code HTML qui doit être passé par AJAX que, envoyez méthode devra données suivantes:
      xmlhttp.send ("txtName =" + Textbox1.value + "& txtname1 =" + textbox2.value);

      Merci,
      Hitesh Agarwal

  8. Octobre 22, 2009 à 21:46 | # 9

    1000000 fois merci ... http://www.ghyoom.com/

  9. Décembre 6th, 2009 à 10:29 | # 10

    nice one

  10. 8 février 2010 à 07:04 | # 11

    u Thnk beaucoup Budy ... ... ... ... ... ....

  11. 17 février 2010 à 08:53 | # 12

    doux et propre exemple ... Good Job!

  12. 3 avril 2010 à 18:52 | # 13

    Qu'en est-il si l'on utilise plus d'une forme?

    • 8 avril 2010 à 11:17 | # 14

      Dans ce cas, vous devrez saisir les données des formulaires en utilisant JavaScript et envoyer ces données à la méthode ajax appel individuel.

  13. 3 juin 2010 à 22:18 | # 15

    Excellent tutoriel. Je voulais juste dire Merci d'avoir pris le temps de l'écrire! :)

  1. Pas encore de trackbacks.