TinyMCE[probleme] enregistrement bdd

Gamix91 Messages postés 107 Statut Membre -  
Gamix91 Messages postés 107 Statut Membre -
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. Lpz
     
    Il faudrait que tu montres ton code, et la structure de ta bdd. C'est dur d'aider sans ça !
    0
  2. Gamix91 Messages postés 107 Statut Membre
     
    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
    0
  3. Gamix91 Messages postés 107 Statut Membre
     
    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>
    0