Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SQL] Aucun enregistrement sur ma base de données

Quand je mets une image

Sujet résolu
    8 février 2006 à 10:20:35

    Bounjour
    J'ai un problème assez bizarre, j'utilise un sytème de news avec du bbcode quand j'utilise les balises classique gras italic souligné pas de problème ça enregistre, mais quand je mets un smiley ça ne marche pas je ne vois pas d'où cela peut venir.
    Le code Php:

    <?php
            if (isset($_POST['contenu']) AND isset($_POST['titre']) AND isset($_POST['pseudo']))  //Si on a posté qq chose (avec un pseudo)
            {
                    if (!empty($_POST['contenu']) AND !empty($_POST['titre']) AND !empty($_POST['pseudo'])) //Si ce que l'on a posté n'est pas vide
                    {
                            $titre = $_POST['titre'];
                           
                            $pseudo = $_POST['pseudo'];
                           
                            $contenu = $_POST['contenu'];
                           
                            //$contenu = stripslashes($_POST['contenu']); // On enlève les slash qui se seraient ajoutés automatiquement
                            $contenu = htmlentities($contenu); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
                            $contenu = nl2br($contenu); // On crée des <br /> pour conserver les retours à la ligne
       
                            // On fait passer notre texte à la moulinette des Regex
                            $contenu = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $contenu);
                            $contenu = preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $contenu);
       
                            $contenu = preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>', $contenu);
                            $contenu=preg_replace("`\[url=(.*?)](.*?)\[/url]`i","<a href='$1'>$2</a>", $contenu);
                            $contenu = preg_replace('!http://[a-z0-9._/-]+!i', '<a href="$0">$0</a>', $contenu);
                            //smiley
                            $contenu = preg_replace('!\:glouglou:!', '<img src="smiley/apero.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:money:!', '<img src="smiley/argent.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:bebe:!', '<img src="smiley/bebe.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:colere:!', '<img src="smiley/colere.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:confus:!', '<img src="smiley/confus.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:fatigue:!', '<img src="smiley/fatigue.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:bouf:!', '<img src="smiley/manger.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:dead:!', '<img src="smiley/mort.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:haha:!', '<img src="smiley/rire.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:super:!', '<img src="smiley/super.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:vacances:!', '<img src="smiley/vacances.gif" title="" alt="smiley"/>', $contenu);
                            $contenu = preg_replace('!\:dodo!', '<img src="smiley/dod.gif" title="" alt="smiley"/>', $contenu);


       

                            require("config.inc.php");
                            mysql_connect($host,$username,$password);
                             mysql_select_db($bdd_name);
           
                            mysql_query('INSERT INTO news (titre, contenu, timestamp, pseudo, valide) VALUES ("' . $titre . '", "' . $contenu . '", "' . time() . '",  "' . $pseudo . '", "0")');
    //values 0 pour la valider
             
                            echo '<p><b>Votre news a été postée avec succès, un admin va bientot se charger de l\'accepter si elle convient.</b></p>';
                            echo $contenu;
                           
                    }
                    else
                    {
                            echo '<p><b>Veuillez remplir tous les champs</b></p>'; //Les champs ne sont pas tous remplis
                    }
            }
            ?>


    Le code html:

    <form method="post" action="proposer.php" name="formulaire" class="corps">
           
            <p>
                    <label>
                    Votre pseudo : &nbsp;&nbsp;
                    <input type="text" name="pseudo" size="27" value="<?php echo $pseudo?>" />
                    </label>
            </p>
           
            <p">

                    <label>
                    Titre de la news :
                    <input type="text" name="titre" size="35" />
                    </label>
                    <br /> <br />
            </p>
            <input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[b]', '[/b]');return(false)" />
            <input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[italic]', '[/italic]');return(false)" />
            <input type="button" id="image" name="image" value="Image" onClick="javascript:bbcode('[image]', '[/image]');return(false)" />
            <input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url=]', '[/url]');return(false)" />
            <input type="button" value="test" style="width:50px;text-decoration:underline" onclick="lien=prompt('Entre un lien :', '' ) ; lien= '[img]' + lien + '[/img]' ; AddText('',lien,'') " />
            <div id="smiley">
            <img src="smiley/apero.gif" title="" alt="" onClick="javascript:smilies(':glouglou:');return(false)" />
            <img src="smiley/argent.gif" title="" alt="" onClick="javascript:smilies(':money:');return(false)" />
            <img src="smiley/bebe.gif" title="" alt="" onClick="javascript:smilies(':bebe:');return(false)" />
            <img src="smiley/colere.gif" title="" alt="" onClick="javascript:smilies(':colere:');return(false)" />
            <img src="smiley/confus.gif" title="" alt="" onClick="javascript:smilies(':confus:');return(false)" />
            <img src="smiley/dod.gif" title="" alt="" onClick="javascript:smilies(':dodo:');return(false)" />
            <img src="smiley/fatigue.gif" title="" alt="" onClick="javascript:smilies(':fatigue:');return(false)" />
            <img src="smiley/manger.gif" title="" alt="" onClick="javascript:smilies(':bouf:');return(false)" />
            <img src="smiley/mort.gif" title="" alt="" onClick="javascript:smilies(':dead:');return(false)" />
            <img src="smiley/rire.gif" title="" alt="" onClick="javascript:smilies(':haha:');return(false)" />
            <img src="smiley/super.gif" title="" alt="" onClick="javascript:smilies(':super:');return(false)" />
            <img src="smiley/vacances.gif" title="" alt="" onClick="javascript:smilies(':vacances:');return(false)" />
            </div>
            <p>
                    <label>
                    News : <br />
            <input type="button" id="bouton_prev" value="Prévisualiser" onClick="previsualisation();return(false)" />
            <!-- ce bouton va permettre aux utilisateurs de d'avoir un aperçu quand ils le veulent, pas en direct -->
    <div id="prev">
    <!-- on créer un div avec quelques caractéristique, on lui donne un nom et on ne le remplit pas, on le laisse vide -->
    </div>
                    <textarea cols="50" rows="20" name="contenu" id="contenu">
                    </textarea>
                    </label>
            </p>
           
            <br /> <br />
           

    <input type="submit" name="submit" value="Envoyer" />
                    <a href="index.php">Index</a>
    </form>
                   
    </div>


    Si vous trouvez vous êtes fort ou alors je suis très bête

    Merci d'avance pour ceux qui ont lu et répondu à ce message.

    Edit:
    ça ne marche pas quand je mets plusieurs balises.
    En tout cas ça doit être dure je sais pas si ça vient pas des preg_replace

    Edit 2:
    Après plusieurs essais je ne comprends toujours pas j'ai fais afficher l'envoi dans la même page dans une autre changement de variable et rien ne se passe.

    Edit 3:
    Je suis au bout du rouleau
    • Partager sur Facebook
    • Partager sur Twitter
      9 février 2006 à 9:30:04

      Un petit up parce que je comprend vraiment pas
      • Partager sur Facebook
      • Partager sur Twitter
        9 février 2006 à 10:00:40

        Peut-être qu'en faisant afficher ta requete SQL t'y verrais plus clair.

        $sql = 'INSERT INTO news (titre, contenu, timestamp, pseudo, valide) VALUES ("' . $titre . '", "' . $contenu . '", "' . time() . '",  "' . $pseudo . '", "0")';
        echo '<br/>'.$sql.'<br/>';
        mysql_query($sql);
        • Partager sur Facebook
        • Partager sur Twitter
          9 février 2006 à 17:22:24

          Je vois pas ce que ça peut apporter mais j'essayrais.
          • Partager sur Facebook
          • Partager sur Twitter
            9 février 2006 à 23:39:38

            Eh bien tu peux voir ta requete sql et chercher l'erreur ...
            • Partager sur Facebook
            • Partager sur Twitter
              9 février 2006 à 23:51:48

              $contenu = preg_replace('!\:glouglou:!', '<img src="smiley/apero.gif" title="" alt="smiley"/>', $contenu);


              A la place des guillemets, mets des apostrophes pour voir, j'ai pt'être une idée sur la question :D

              Au fait en passant vérifie chez ton hébergeur avec la fonction phpinfo(), la partie magic quote et notamment cette ligne magic_quotes_gpc si c'est sur On ?
              • Partager sur Facebook
              • Partager sur Twitter

              Garde ton esprit critique, n'obéit qu'à ton discernement.

                10 février 2006 à 17:46:15

                Pour l'affichage de sql il n'y a pas d'erreur il est censé bien enregistrer les bonne chases.

                Pour les guillemet pas d'enregistrements non plus.
                • Partager sur Facebook
                • Partager sur Twitter
                  11 février 2006 à 0:01:10

                  Au fait pourquoi tu as échappé, pour les smilies :
                  $contenu = preg_replace('!\:glouglou:!', '<img src="smiley/apero.gif" title="" alt="smiley"/>', $contenu);

                  C'est peut être là le blème, met simplement :
                  $contenu = preg_replace('!:glouglou:!', '<img src="smiley/apero.gif" title="" alt="smiley"/>', $contenu);
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Garde ton esprit critique, n'obéit qu'à ton discernement.

                    20 février 2006 à 11:09:20

                    Maintenant j'ai trouvé il suffisait juste de mettre des antislash devant les guillemets.

                    et de supprimer ceux devant le :
                    Encore merci pour votre aide.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [SQL] Aucun enregistrement sur ma base de données

                    × 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