Partage
  • Partager sur Facebook
  • Partager sur Twitter

prolème de " ' "

Sujet résolu
    5 avril 2006 à 1:48:09

    Salut,
    jai fais un système de commentaire pour une petite page de photo, mais voilà le prob : lorsqu'on tape dans le message ou pseudo les caractères " ' " ou " \ " le message n'est pas sauvé dans la bdd, ou alors il faut le taper en double pour qu'il apparaisse une fois. J'avoue que je ne comprend rien :(
    http://www.arvi89.cliranet.com/ecosse

    Je mettrai du code demain s'il faut, merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      5 avril 2006 à 1:53:43

      montre ton code pour qu'on puisse t'aider
      • Partager sur Facebook
      • Partager sur Twitter
        5 avril 2006 à 1:55:19

        <?
        $li = $_GET['li'];
        $type = $_GET['type'];
        $photo = $_GET['photo'];

        $reponse = mysql_query("SELECT * FROM ecosse WHERE lien='$photo' ");
        $donnees = mysql_fetch_array($reponse);
        $com_b = $donnees['com']// nombre de commentaires
        if ($com_b == '')
        {
        $com_b = 0;
        }

        if (isset($_POST['message'])) // on vérifie qu'il y a un message
        {
        $date = time();
        $pseudo = htmlentities ($_POST['pseudo']);
        $email = htmlentities ($_POST['email']);
        $com = nl2br (htmlentities ($_POST['message']));
        mysql_query("INSERT INTO ecosse_com VALUES('','$date','$pseudo','$email','$com','$photo')");
        $com_b = $com_b + 1;
        mysql_query("UPDAtE ecosse SET com='$com_b' WHERE lien='$photo'");
        echo "ok :)";
        }

        if ($com_b != 0) // si il y a au moins 1 message, on affiche
        {
        $reponse2 = mysql_query("SELECT * FROM ecosse_com WHERE photo='$photo' ");
        while ($donnees2 = mysql_fetch_array($reponse2) )
        {

        echo '<div class="news_a">';
        echo '<div class="news_h">';

        // Affichage du pseudo, jour et de l'heure
        $date = $donnees2['date'];
        $jour = date('d/m/Y', $date);
        $heure = date('H\:i', $date);
        $pseudo = $donnees2['pseudo'];
        echo $pseudo.',  <i>'.$jour.'-'.$heure.'</i>';
        // ---------------------------------------------------------

        echo '</div>';
        echo '<p>';

        // Affichage du message
        $msg = $donnees2['com'];
        echo $msg;
        // ---------------------------------------------------------

        echo '<p>';
        echo '</div>';

        }
        }
        ?>

        <center></center>
        <br/>

        <form method="post" action="index.php?page=com&type=<?echo $type?>&li=<?echo $li?>&photo=<? echo $donnees['lien']; ?>">
        Pseudo : <input type="text" name="pseudo" /><br />
        Email : <input type="text" name="email" /><br />
        Texte :<textarea name="message" cols="40" rows="4"></textarea>
        <input type="submit" value="Envoyer" />
        </form>

        <br />
        <a href="index.php?page=photos2&type=<?echo $type?>
        &li=<?echo $li?>">Précédent</a>


        Voici ma page qui affiche et envoie les commntaires(le tout à la suite)
        • Partager sur Facebook
        • Partager sur Twitter
          5 avril 2006 à 7:36:10

          Ajoute addslashes() lors de la récupération des variables.
          Ca va rajouter des \ devant les ' et les ".

          Et pour l'affichage suffit de faire stripslashes()
          • Partager sur Facebook
          • Partager sur Twitter
            5 avril 2006 à 9:04:02

            tu peux aussi demander à htmlentities de traduire également les "'" :

            $com = nl2br (htmlentities ($_POST['message'],ENT_QUOTES));

            • Partager sur Facebook
            • Partager sur Twitter

            prolème de " ' "

            × 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