Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le modifier...

...ne modifie en rien

Sujet résolu
    13 mai 2006 à 12:52:30

    Pour mon site j'avais un systeme de news fait par moi, mais il n'été pas trés amélioré, j'ai donc fait celui de stargatefan qui est trés bien fait, mais j'ai un problème, mon lien modifier ne marche pas tout à fait.
    En effet quand je clique dessus il m'emmene bien au "rediger_news.php" avec mon texte inscri dans le formulaire. Mais quand je modifie le messsage, et je clique sur envoyer, rien ne se passe, il n'ya pas d'erreur mais mon message ,n'est pas modifié.
    voici les codes (désolé si yen a beaucoup ^^):

    <citation nom="le tableau répertoriant les news "liste_news.php"">
    <h2><a href="rediger_news.php">Ajouter une news</a></h2>
    <h2><a href="../index.php">retour au site</a></h2>
    <?php

    $hote = "localhost";
    $login = "root";
    $pass = "";
    $base = "wowmods";

    mysql_connect($hote,$login,$pass);
    mysql_select_db($base);

    //************************************
    //Est ce qu'on veut poster une news ??
    //************************************

    if(isset($_POST['pseudo'], $_POST['titre'], $_POST['contenu']))
     {
      $pseudo = addslashes($_POST['pseudo']);
      $titre = addslashes($_POST['titre']);
      $contenu = addslashes($_POST['contenu']);
     
      //On vérifie si c'est une modification de news, pour cela on regarde si l'id de la news exist ou non
     
      if($_POST['id_news'] == 0)
       {
        //Ce n'est pas une modification de news alors on crée une nouvelle entrée dans la table
        mysql_query("INSERT INTO news (pseudo, titre, contenu, timestamp, valide) VALUES ('" . $pseudo . "','" . $titre . "', '" . $contenu . "', '" . time() . "',  '1')") or exit(mysql_error());
       }
       else
       {
       //c'est une modification, on met juste a jour le titre, le pseudo et le contenu
       mysql_query('UPDATE news SET pseudo='.$pseudo.', $titre='.$titre.', contenu='.$contenu.' where id='.$_POST['id_news']) or exit(mysql_error());
       }
      }
     
    //************************************
    //Est ce qu'on veut supprimer une news??
    //************************************

    if(isset($_GET['supprimer_news'])) //si on demande de supprimer une news
      {
       mysql_query('DELETE FROM news WHERE id='.$_GET['supprimer_news']) or exit(mysql_error());
      }
     
    ?>

    <table>
    <tr>
    <th>Id</th>
    <th>Pseudo</th>
    <th>Titre</th>
    <th>Date</th>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Validez</th>
    </tr>

    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or exit(mysql_error());
    while ($donnees = mysql_fetch_array($retour)) //on fait une boucle pour lister les news.
    {
    ?>

    <tr>
    <td><?php echo $donnees['id']; ?></td>
    <td><?php echo $donnees['pseudo'];?></td>
    <td><?php echo stripslashes($donnees['titre']);?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']);?></td>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php
        //on défini la condition pour valider la news ou pas
            if(($donnees['valide']) == 0) //afficher valider si la news a été proposé
            {
            ?>
            <a href="valinews.php?ampnewsavalid=<?php echo $donnees['id'];?>">Valider</a>
            <?php
            }
            else
            {
            echo $donnees['valide'];
            }
            ?>
    </tr>

    <?php
    } //fin de la boucle qui liste les news
    ?>

    </table>
    </citation>

    <citation nom="Le formulaire "rediger_news.php"">
    <h3><a href="liste_news.php">Retour à la liste des news</a></h3>

    <?php
    $hote = "localhost";
    $login = "root";
    $pass = "";
    $base = "wowmods";

    mysql_connect($hote,$login,$pass);
    mysql_select_db($base);


    if (isset($_GET['modifier_news']))  // Si on demande de modifier une news
    {
            // On récupère les infos de la correspondante
            $retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']) or exit(mysql_error());
            $donnees = mysql_fetch_array($retour) or exit(mysql_error());
           
            // On place le titre et le contenu dans des variables simples
            $titre = $donnees['titre'];
            $contenu = $donnees['contenu'];
            $pseudo = $_POST['pseudo'];
            $id_news = $donnees['id']// Cette variable va servir pour se souvenir que c'est une modification
    }
    else  // C'est qu'on rédige une nouvelle news
    {
            // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
            $titre = '';
            $contenu = '';
            $pseudo = '';
            $id_news = 0// La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>
    <form action="liste_news.php" method="post">
    <p>Pseudo : <input type="text" size="35" name="pseudo" value="<?php echo $donnees['pseudo']; ?>" /> </p>
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>

    <p>
            Contenu :<br />
            <textarea name="contenu" cols="50" rows="10">
            <?php echo stripslashes($contenu); ?>
            </textarea><br />
           
            <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
            <input type="submit" value="Envoyer" />
    </p>
    </form>
    </citation>

    Voila j'ai mis les 2 qui correspondaient au problème.

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      13 mai 2006 à 13:02:18

      Ajoute or exit(mysql_error()) sur tes requêtes pour voir les erreurs SQL éventuelles.
      • Partager sur Facebook
      • Partager sur Twitter
        13 mai 2006 à 13:06:56

        Citation : T@kniX

        Ajoute or exit(mysql_error()) sur tes requêtes pour voir les erreurs SQL éventuelles.



        C'est fait, mais rien n'y fait je n'est pas d'erreur et les donnees ne se modifies pas
        • Partager sur Facebook
        • Partager sur Twitter
          13 mai 2006 à 14:01:30

          Ca doit forcément sois afficher une erreur sois modifier les données.

          Edite ton premier post et mets ton code modifié.
          • Partager sur Facebook
          • Partager sur Twitter
            13 mai 2006 à 14:07:14

            Ayer, mais c'est bon, j'ai fait un copié collé de son code et sa fcontionne, mais je comprend toujours pas ou je me suis planté :euh:

            merci quand même
            • Partager sur Facebook
            • Partager sur Twitter

            Le modifier...

            × 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