Sauvegarder le texte editer par tinymce
kikoi1
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
Mas -
Mas -
Bonjour,
j'ai intégrer un editeur de texte à tinylce et je voudrai pouvoir enregistrer ce texte et pouvoir le réafficher comment doit-je my prendre??
Faut-il créer une table dans ma base de données avec les champs id et texte?
Comment pui-je aussi valider le texte écrit??
J'ai créer un bouton valider mais après je ne c'est pas quoi faire.
j'ai intégrer un editeur de texte à tinylce et je voudrai pouvoir enregistrer ce texte et pouvoir le réafficher comment doit-je my prendre??
Faut-il créer une table dans ma base de données avec les champs id et texte?
Comment pui-je aussi valider le texte écrit??
J'ai créer un bouton valider mais après je ne c'est pas quoi faire.
A voir également:
- Sauvegarder le texte editer par tinymce
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Sauvegarder favoris chrome - Guide
- Sauvegarder favoris firefox - Guide
3 réponses
Bonjour,
Oui vous pouvez commencer par créer une bdd avec les champs nécessaires.
Le bouton SAVE (1er boton à gauche) de l'interface tinyMCE envoie le formulaire en post, et vous récupérez la valeur du champ correspondant :
formulaire.php
Il suffit de bien pointer vers le fichier de votre choix, p.ex. traitement_formulaire.php (mis à la place de "somefile", me semble-t-il).
Pour pouvoir afficher des textes différents, il est judicieux de mettre dans le formulaire un identifiant unique, d'où le champ caché avec id="id", qui ne nous sert pas encore...
Pour enregistrer un nouveau texte mis en forme, le fichier traitement_formulaire.php récupère le textarea :
traitement_formulaire.php
Pour éditer un texte existant, le "réinjecter" dans la page contenant le formulaire avec du PHP et du javascript, en y postant l'id du texte :
formulaire.php
PS : bien remplacer dans le 1er <script> le src en fonction du dossier où se trouve la biblio tinyMCE
Bon ça va jusqu'ici ?
Tenez-moi au courant, à bientôt
Oui vous pouvez commencer par créer une bdd avec les champs nécessaires.
Le bouton SAVE (1er boton à gauche) de l'interface tinyMCE envoie le formulaire en post, et vous récupérez la valeur du champ correspondant :
formulaire.php
<form name="form1" method="post" action="traitement_formulaire.php"> <input id="id" type="hidden" value="" /> <textarea name="content" style="width:100%"> </textarea> </form>
Il suffit de bien pointer vers le fichier de votre choix, p.ex. traitement_formulaire.php (mis à la place de "somefile", me semble-t-il).
Pour pouvoir afficher des textes différents, il est judicieux de mettre dans le formulaire un identifiant unique, d'où le champ caché avec id="id", qui ne nous sert pas encore...
Pour enregistrer un nouveau texte mis en forme, le fichier traitement_formulaire.php récupère le textarea :
traitement_formulaire.php
<? if ( isset($_POST["content"]) ) { $textarea_content = $_POST["content"]; /* // Sauvegarder mysql_real_escape_string($textarea_content) dans un champ de la base de donnees, avec id unique (p.ex AUTOINCREMENT) // /* } else { ; } ?>
Pour éditer un texte existant, le "réinjecter" dans la page contenant le formulaire avec du PHP et du javascript, en y postant l'id du texte :
formulaire.php
<? if ( isset($_POST["id_to_edit"]) ) { $id_to_edit = $_POST["id_to_edit"]; /* // Recuperer le code tinyMCE de la table correspondante dans la bdd, selon l'id unique $id_to_edit, stocker dans une variable, p.ex $tinyMCE_code // /* $tinyMCE_code = str_replace('"','\\"',$tinyMCE_code); // faire preceder les guillemets par des antislashes, attention aux apostrophes ' " ' et ' \\" ' $tinyMCE_code = str_replace(array("\r","\n"),"",$tinyMCE_code); // remplacer les retours chariot par rien du tout (cette fois, delimiter les chaines par des guillemets) ?> <html> ... ... <script type="text/javascript" src="dossier_js/tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> // initialisation tinyMCE ... function id_to_edit() { // document.form1.content.value = "<? echo $tinyMCE_code; ?>"; document.getElementById("id").value = "<? echo $id_to_edit; ?>"; // // la fonction tinyMCE met a jour l'iframe à partir de la valeur du textarea, et admet l'objet // textarea comme parametre // var content_id = document.form1.content; // tinyMCE.activeEditor.load(content_id); } function edit_get_put_init() { <? if ( isset($id_to_edit) ) { echo "id_to_edit();\n"; } else { echo ";\n"; } ?> } </script> </head> <body onload="edit_get_put_init();"> ... <form name="form1" method="post" action="traitement_formulaire.php"> <input id="id" type="hidden" value="" /> <textarea name="content" style="width:100%"> </textarea> </form> ... <!-- ici on place le bouton pour modifier le 1er texte (il faut un enregistrement avec id=1 dans la bdd !) --> <form name="form_edit1" method="post" action="formulaire.php"> <input name="id_to_edit" type="hidden" value="1" /> <input name="submit1" type="submit" value="Modifier texte 1" /> </form> ... </body> </html> <? else { // pas de formulaire envoye } ?>
PS : bien remplacer dans le 1er <script> le src en fonction du dossier où se trouve la biblio tinyMCE
Bon ça va jusqu'ici ?
Tenez-moi au courant, à bientôt
formulaire.php...
(oublié l'accolade fermante du if, désolé)
A bientôt
Je me demandais s'il était possible d'éditer de la même manière un fichier txt ou inc.php par exemple afin de le modifier plutôt que d'avoir recours à une bdd?... et dans l'affirmative, ceci nécessite t'il une importante modification de code posté plus haut?
Novice, je procède à quelques essais mais suis confronté à un 2 problèmes: je peux bel et bien créer un fichier txt via tinymce mais lorsque j'ai quitté l'interface et que j'y reviens le fichier initialement créé n'y apparaît plus... or je souhaite pouvoir éditer le texte inséré dans le fichier cible la première fois.
Je peux bien écrire à nouveau dedans mais alors le nouveau texte s'ajoute au précédent... ce qui n'est pas vraiment le résultat escompté! :(
Merci beaucoup pour votre aide!
<textarea id="1" name="1" rows="30" cols="100" style="width: 70%">
<?php include('folder/article.txt'); ?>
</textarea>
... par contre il faudrait qu'au moment de sauver les modifications apportées le fichier txt cible soit préalablement vidé afin d'éviter que le texte rectifié s'ajoute au précédent, à la queue leu leu...
si cela peut-être utile à quelqu'un: