TinyMCE[probleme] enregistrement bdd

Bonjour,

Voila j'ai installé TinyMCE sur mon site perso html/php ,

J'ai une page " Creation d'articles " avec l'editeur Tiny qui me permet donc de créer un article qui s'enregistre dans ma bdd dans la table " articles "id-titre-texte" .
Le décore est placé ,
Mon probleme c'est que voila quand je crée un article exemple :

-titre:azerty
-texte:bonjour

tout ce passe bien ,
Mais voila j'ai un bug que je ne comprend ABSOLUMENT pas dont je me bat avec depuis plus de 3heures .

J'essaie de copié un texte sur le net puis de le valider , et la rien ne s'enregistre ,
j'ai chercher les caractère spéciaux mais je ne trouve rien de special , les virgules les double point tout tout mais si je cree une toute petite phrase ils passent tous ...
meme les liens url transformer en cliquable etc .

Bref apres mes 3h de recherche je pense que le souci viens de ma BDD ou le champs qui a de mauvaise "option" genre varchar ne prend pas tout les caractere ou alors si le texte est trop long ca plante ou ...?? je sais pas , j'ai vu aussi TinyTEXTE , alors j'ai cru trouver mon bonheur mais en fait non :D

Voila je suis ultra pommé je m'arrache les cheveux donc si vous avez une idée :<

Merci .

3 réponses

  1. Il faudrait que tu montres ton code, et la structure de ta bdd. C'est dur d'aider sans ça !
    1. La premeire erreur que j'ai trouvé c'etait la concaténation , en fait vu que j'ecris un texte qui est mis en bdd avec sql , quand j'ecris dans mon article par exemple :

      c'est lui .

      Il pense que mon ' , coupe le script du coup il plante et il ne fait rien :s , j'ai réussi a réglé ce souci , seulement ce n'est pazs fini il plante encore quand je copi colle un texte simple en gras , mais quand moi je met moi meme le texte en gras ca passe , histoire de fou :(, il doit y avoir une regex capable d'intervenir la dessus je suppose :s
      1. Bonjour ,

        Je vais rouvrir mon sujet car j'ai réglé quelques problemes seulement je ne parviens pas a résoudre tout , et j'espere trouver une personne qui connais la réponse !

        J'ai donc changer j'ai CKediteur et plus tiny mais bon cela ne change pas grand chose .

        J'ai mon editeur de texte remplaçant mon textarea ,
        L'objectif étant de pouvoir personnaliser mon texte et une fois valider il ce transforme en langage HTML ( ce qui est ok ) , et il s'enregistre en BDD ( ce qui ne va pas ) .

        Il s'enregistre bien oui , seulement dans une requete SQL ca plante si il y a des caractere specieaux du gerne des " puce " ou des "quote" etc , je suis pas un pro php tout ca encore mais je pense que c'est impossible de dire qu'on veut un texte comme ca dans une requete SQL alors je suis perdu :)

        un petit exemple : ( ee; rrf;zerz , dans le texte area ils sont lié a des puces numeroté , et ca rend ca en requete sql , et ca plante rien n'entre en bdd )

        INSERT INTO articles (titre, texte) VALUES ("", "

        Salut !

        ee
        rrf
        zerz

        ")

        edit : j'ai trouvé ceci pour convertir : $editor = htmlentities($_POST['editor1']);

        ou htmlspecialchars .
        Le souci c'est que si je fais ca , mon article qui doit etre afficher sur mon site montre les balise html directement et moi je prefere avoir la couleur que [color:red] etc ^^

        Du coup j'ai rien résolu , surtout qu'a mon avis cette balise doit etre activé sur l'editeur de base .... enfin j'imagine ... en fait j'en sais rien !

        voici mon code :

        <h2>Creation d'un nouvelle article</h2>
        
        <?php
        if (isset($_POST['editor1']))
        {
            $texte = $_POST['editor1'];
            $titre = $_POST['titre']; 
        
            echo '<h3>prévisualisation</h3><br/>';
        	echo $titre.'<br/>';
            echo $texte . '<br /><hr />';
        
        	
        				$req='INSERT INTO articles (titre, texte) VALUES ("'.$titre.'", "'.$texte.'")';
        				$bdd->exec($req);
        				echo $req;
        }
        ?>
        
        	<center><form method="POST" action="">
        		<p>
        			
        			<textarea id="editor1" name="editor1"></textarea>
        			<script type="text/javascript">
        				CKEDITOR.replace( 'editor1' );
        			</script>
        		</p>
        			
        		<p>
        			<input type="submit" />
        		</p>
        	</form></center>