Partage
  • Partager sur Facebook
  • Partager sur Twitter

intégrer ajax

Sujet résolu
    20 février 2009 à 22:02:41

    Bonjour à tous. Je ne connais rien en AJAX et j'aimerais pourtant en intégrer dans une de mes pages PHP.
    Mes pages PHP font plusieurs centaines de lignes, et sont difficilement compréhensibles en dehors de leur contexte, j'ai donc codé un petit code PHP qui va faire office d'exemple pour vous poser ma question. Ensuite je pourrai appliquer ce que j'aurai appris à mes pages PHP comme un grand :)

    Voilà le code :
    <table border=="1">
    		<tr>
    			<th>Mail</th><th>Validité</th>
    		</tr>
    <?php
    $mails=array('robert@gmail.com','albert@msn.fr','hubert.il.est.bete');
    foreach($mails as $mail)
    {
    ?>
    		<tr>
    			<td><?php echo $mail;?></td><td>Tester</td>
    		</tr>
    <?php
    }
    ?>
    </table>
    

    Celà va donc afficher un code HTML du type :
    <table border=="1">
    		<tr>
    			<th>Mail</th><th>Validité</th>
    		</tr>
    		<tr>
    			<td>robert@gmail.com</td><td>Tester</td>
    		</tr>
    
    		<tr>
    			<td>albert@msn.fr</td><td>Tester</td>
    		</tr>
    		<tr>
    			<td>hubert.il.est.bete</td><td>Tester</td>
    		</tr>
    </table>
    


    Ce que je voudrais ajouter? c'est simplement un test sans rechargement de page (d'où l'ajax) de la validité de l'email. En cherchant un peu j'ai trouvé ce petit code : http://roshanbh.com.np/2008/04/check-u [...] p-jquery.html
    Ça me paraît bien correspondre à ce que je veux, mais je n'arrive pas à bien l'intégrer. Je voudrais qu'en cliquant sur Tester, le test soit fait et qu'une image(enfin concrètement c'est pas une image dans l'exemple mais ça y ressemble) soit généré avec "Valide" ou "Non valide". Pour tester la validité j'ai une page php "check.php" que je veux appeler via ajax :
    <?php echo preg_match('#[0-9a-z]+@[0-9a-z]+\.[a-z0-9]{2,4}#i',$_POST['mail']); ?>
    

    Je viens de faire la regex donc pas grave si elle est fausse, c'est simplement pour le concept. En gros pour les non regexiens, la page affichera 1 si le mail est bon, 0 sinon (d'après le code AJAX du tuto que j'ai mis plus haut, ça fonctionne comme ça.

    if(data=='no') //if username not avaiable
    
    Dans mon code ce sera if(data=="0") .

    Donc en fait je comprends le code mais pour le modifier... j'en suis incapable. Ce que je voudrais que le script fasse :
    en données POST je voudrais qu'il envoie l'email correspondant (celui dans la même ligne du tableau), et je voudrais qe ce soit en cliquant sur Tester que cela se fasse.

    Quelqu'un serait en mesure de m'aider à faire ça?
    Merci à vous.
    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2009 à 11:59:06

      Eh tu as une solution simple qui est de lire le tutoriel sur ajax ici
      Selon ce que tu veux faire, lire les 2 - 3 premiers chapitre suffis.
      Et comme je suis gentil en bonus je te donne un code mais lis quand même le tuto pour pouvoir le comprendre et t'en resservir plus tard :
      function test(fichier, mail) {
      	if(window.XMLHttpRequest) // FIREFOX
      		xhr_object = new XMLHttpRequest();
      	else if(window.ActiveXObject) // IE
      		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
      	else
      		return(false);
      	xhr_object.open("POST", fichier, false);
      	xhr_object.send("mail="+mail);
      	if (xhr_object.responseText == "1") {
                    // C'est ok tu fait ce que tu veux
              }
              else {
                    // C'est non tu fait ce que tu veux
              }
      
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2009 à 17:19:16

        Ok merci ça m'aide bien. Et comment pourrais-je faire pour afficher une image si oui, une autre sinon ? quand j'essaye avec un document.write au milieu ça me fout tout en l'air :D

        EDIT : j'ai trouvé tout seul, thx.
        • Partager sur Facebook
        • Partager sur Twitter

        intégrer ajax

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown