IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Formulaire de news php en ajax


Sujet :

AJAX

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 73
    Points : 42
    Points
    42
    Par défaut [AJAX] Formulaire de news php en ajax
    Bonjour,

    J'aimerais transformé un formulaire lié au php pour avoir les résultats en ajax.
    Je ne sais pas du tout comment faire, j'ai regardé plein de tutos, rien ne marche.

    Je donne la page du formulaire :
    Le problème c'est que le formulaire et le php sont liés, pour l'ajax normalement il faut séparé le formulaire du script php qu'on appelle justement dans l'ajax.

    Expliquez moi seulement pour le formulaire ou le titre est : "Poster un article", je saurais faire pour le formulaire de modification.

    Code php
    Code php : 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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
                                    <?php echo $reponse; ?>
                                    <?php if(isset($_COOKIE["pseudo"])) { ?>
                                    <?php                          
                                    $db_link =      mysql_connect("...", "...", "...");
                                    mysql_select_db("...", $db_link);
     
                                    if(isset($_POST)) {
                                            foreach($_POST as $k => $v) {
                                                    $_POST[$k] = trim(htmlspecialchars($v)) ;
                                            }
                                    }
                                    if(isset($_GET)) {
                                            foreach($_GET as $k => $v) {
                                                    $_GET[$k] = trim(htmlspecialchars($v)) ;
                                            }
                                    }
                                    if(isset($_POST['send'])) {
                                            if($_POST['send'] == 'new') {
                                            $sql = "INSERT INTO wa_news (auteur,date,titre,news) values ('".$_COOKIE['pseudo_prenom']." ".$_COOKIE['pseudo_nom']."',now(),'".$_POST['titre']."','".$_POST['news']."')";
                                            }
                                            elseif($_POST['send'] == 'update') {
                                            $sql = 'update wa_news set titre = "'.$_POST['titre'].'", auteur =
                                            "'.$_COOKIE['pseudo_prenom'].' '.$_COOKIE['pseudo_nom'].'", news = "'.$_POST['news'].'", date =
                                            "'.$_POST['date'].'" WHERE newsId = "'.$_POST['newsId'].'"';
                                            }
                                            mysql_query($sql,$db_link) or die(mysql_error());
                                    }
                                    if(isset($_GET['delete']) and is_numeric($_GET['delete'])) {
                                       mysql_query("delete from wa_news where newsId = \"".$_GET['delete']."\"",$db_link);
                                    }
                                    if(isset($_GET['edit']) and is_numeric($_GET['edit'])) {
                                            $Id = $_GET['edit'] ;
                                            $sql = 'SELECT * FROM wa_news WHERE newsId="'.$Id.'" LIMIT 1' ;
                                            $rc = mysql_query($sql,$db_link);
                                            while($data = mysql_fetch_array($rc)) { ?>
                                            <div class="bloc_03">
                                                    <h1 class="separate">Modifier l'article</h1>
                                                    <form action="home.php" method="post">
                                                            <table>
                                                                    <tr><td class="titre-news">Titre :</td></tr>
                                                                    <tr><td><input type="text" class="news-titre" name="titre" value="<?php echo htmlentities($data['titre']); ?>" /></td></tr>
                                                                    <tr><td class="titre-news">Article :</td></tr>
                                                                    <tr><td><textarea name="news" class="news-article"><?php echo htmlentities($data['news']); ?></textarea></td></tr>
                                                            </table>
                                                            <input type="hidden" name="newsId" value="<?php echo $_GET['edit']; ?>" />
                                                            <input type="hidden" name="send" value="update" />
                                                            <input type="submit" src="" class="submit-news" value="" />
                                                    </form>
                                            </div>
                                            <?php }
                                    }
                                    else { ?>
                                            <div class="bloc_03">
                                                    <h1 class="separate">Poster un article</h1>
                                                    <form action="" method="post" onsubmit="maFonctionAjax(this.titre.value,this.news.value);return false">
                                                            <table>
                                                                    <tr><td class="titre-news">Titre :</td></tr>
                                                                    <tr><td><input type="text" autocomplete="off" class="news-titre" name="titre" /></td></tr>
                                                                    <tr><td class="titre-news">Article :</td></tr>
                                                                    <tr><td><textarea name="news" autocomplete="off" class="news-article" value="Exprimez-vous..." onfocus="if (this.value==this.defaultValue) this.value = ''" onblur="if (this.value=='') this.value = this.defaultValue">Exprimez-vous...</textarea></td></tr>
                                                            </table>
                                                            <input type="hidden" name="send" value="new" />
                                                            <input type="submit" class="submit-news" value="" />
                                                    </form>
                                                    <div id="msg"></div>
                                            </div>
                                            <?php
                                            $sql = 'SELECT * FROM wa_news ORDER BY newsId DESC' ;
                                            $rc = mysql_query($sql,$db_link);
                                            while($data = mysql_fetch_array($rc)) {
                                            $data['date'] = date('d/m/Y');
                                            ?>
                                            <div class="bloc_03">
                                                    <h1 class="separate"><?php echo $data['titre']; ?></h1>
                                                    Le <?php echo $data['date']; ?> par <?php echo $data['auteur']; ?><br />
                                                    <?php echo $data['news']; ?>
                                                    <br />=> <a href="?delete=<?php echo $data['newsId']; ?>">Supprimer</a> -
                                                    <a href="?edit=<?php echo $data['newsId']; ?>">Editer</a>
                                            </div>
                                            <?php } } mysql_close(); ?>
                                    <?php } else { ?>
                                    <div class="bloc_03">
                                            <h1 class="separate">Actualités à la Une</h1>
                                    </div>
                                    <?php } ?>



    Si vous pouvez me faire le script, ça m’arrangerait parce que je ne saurais pas le faire seul

    Merci beaucoup d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Donc tu demandes l'exemple le plus sommaire d'AJAX,
    et avec tu adaptera a ton probléme

    OK fais un premier PHP ajax1_simple.php

    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
     
    <html><body>
    <script type="text/javascript">
    <!--
    function maFonctionAjax(LaValeur)
    {
      var MonAjax;
      if (window.XMLHttpRequest){ MonAjax = new XMLHttpRequest();}
      else if (window.ActiveXObject) {MonAjax = new ActiveXObject('Microsoft.XMLHTTP');}
      else {
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
        MonAjax = false;
          }
      MonAjax.open('POST',"ajax2_simple.php",true);
      MonAjax.onreadystatechange = function()
      {
          if (MonAjax.readyState == 4 && MonAjax.status==200)
          {
              document.getElementById('LeRetourL').innerHTML=''+MonAjax.responseText+'';
           }
      }
      MonAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
      MonAjax.send('LaValeur='+LaValeur);                  
    }
    //-->
    </script>
    <h1>Mon test Ajax</h1>
    <br />
    <a href="#" onclick="maFonctionAjax('truc'); return false;">supprimer truc</a>
    <div id='LeRetourL' >
     
    </div>
    </body></html>
    Alors AJAX tu le vois, appelles ajax2_simple.php et lui passes
    en POST dans $_POST['LaValeur'], 'truc'
    donc ajax2_simple.php aura cette forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $id = (isset($_POST['LaValeur'])) ? $_POST['LaValeur'] : '';
    header('Content-type: text/html; charset=ISO-8859-1');
    /*=========ICI tu te connectes a Mysql et supprimes dans la table XXXX  le data $id*/
    echo "l annonce ".$id." est effac&eacute;e<br>";
    ?>
    A toi de jouer , bon courage
    Christele
    Dernière modification par Invité ; 25/06/2012 à 11h08.

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    if (document.getElementById)
    Cela ne sert plus à rien, tous les navigateurs actuels supportent bien cette méthode.

    A+.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Arhhhh.... Oui mon model date un peut, je devrais le rajeunir , merci pour la remarque.
    Je réédites de suite.
    A bientôt et bonne semaine
    Christele

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Et aussi,
    document.getElementById('LeRetourL').innerHTML=''+MonAjax.responseText+'';
    Cela ne sert à rien aussi, responseText est déjà un String.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Et aussi,
    Cela ne sert à rien aussi, responseText est déjà un String.
    Décidément mes méthodes datent

    Mais alors comment je désigne le DIV ou doit s'afficher le retour
    En effet je lui dit de mettre le texte dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div id='LeRetourL' >
    </div>
    Merci d'avance.
    Christele

Discussions similaires

  1. [Prototype] Formulaire généré en PHP + Utilisation AJAX
    Par metalix dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 05/05/2011, 17h44
  2. [AJAX] Appeller une page php en Ajax pour action sur Mysql
    Par Overstone dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 20/07/2007, 19h23
  3. Réponses: 8
    Dernier message: 08/06/2007, 22h39
  4. [AJAX] rafraichir un module php en ajax
    Par stone67 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/06/2007, 19h07
  5. [Ajax] Petit problème avec PHP et AJAX
    Par cerede2000 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 06/05/2006, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo