FCK Editor et mysql

amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009 - 26 mars 2008 à 09:48
 psaksik - 8 avril 2011 à 14:49
Bonjour,

je désire utiliser FCK editor pour enregistrer des données dans une BD.

Lorsque j'utilise le bouton submit, il n'y a pas de problème, les données données sont bien enregistrées

Par contre, j'utilise ajax pour enregistrer mes données dans la bd (je gère des DIV, dans lequel j'ai mon formulaire).Et cela ne fonctionne pas.

Je vous donne un bout de code exemple:

<form name="monform" id="monform">
<?
$oFCKeditor = new FCKeditor(contenu') ;
$oFCKeditor->BasePath = 'fckeditor/' ;
$oFCKeditor->Value = $c["contenu"] ;(recupéré dans la base, et OK)
$oFCKeditor->Create() ;
?>
[# enregistrer]

Coté javascript :

function enregistre(f){

contenu=document.getElementById(f).contenu.value;(Pb : contenu est tjrs vide)
...traitement de la valeur ....
}

Je sais que FCKeditor crée un champ que je peut voir dans le code source...donc normalement je devrais pouvoir récupérer la valeur de 'contenu'..

Merci de me dire comment faire.

Faites vous plaisir !!

38 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 mars 2008 à 12:49
Salut,
$oFCKeditor new FCKeditor(contenu') ;>

$oFCKeditor = new FCKeditor(
' contenu') ;

et puis :

[# enregistrer]

=>

[# '</gras>);">enregistrer]

Est-ce que ça règle le problème ?

Neige
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 mars 2008 à 12:52
Juste un truc... Pourquoi mettre une balise pour exécuter un javascript ? Quel est l'intérêt ? Si c'est juste pour avoir un pointeur comme curseur :
enregistrer
Perso, je trouve qu'utiliser un lien pour exécuter un js, c'est vraiment pas adapté...

Neige
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
26 mars 2008 à 13:03
Merci pour ton aide, mais c'est un exemple de donné, les quotes sont bien présents dans le code reel...

Concernant la gestion des liens , sur le code reel, je fais :
enregistrer

Le curseur est géré en css

Donc je suis toujours à la case départ...

Faites vous plaisir !!
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 mars 2008 à 13:17
Ah ouais, mais si tu demandes de l'aide en donnant un code autre que celui que tu utilises, y'a pas grand monde qui va pouvoir t'aider, hein...
Parce que oui, normalement, ça doit marcher... Si tu nous montres autre chose que ce que tu as vraiment, on ne peut pas vraiment trouver d'où vient le problème...

Neige
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
26 mars 2008 à 13:23
Le code reel :
Dans le div "enr_devis" :
<form name="enr_devis" id="enr_devis">
<? $oFCKeditor = new FCKeditor('devis_entete') ;
$oFCKeditor->BasePath = 'fckeditor/' ;
$oFCKeditor->Value = $c["devis_entete"] ;
$oFCKeditor->Create() ;?>

');">

La fonction "gestion_devis" :
function gestion_devis(action,n){
a = document.getElementById('enr_devis'); 
devis_clt=a.devis_clt.value;
devis_date=a.devis_date.value;
devis_ref=a.devis_ref.value;
if (action=="creer"){
devis_entete='';
devis_pied='';
devis_prix='';
}
else
{
devis_entete=a.devis_entete.value;
devis_pied=a.devis_pied.value;
devis_prix=a.devis_prix.value;
}


var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
 xhr_object.open('POST', 'req_gestion_devis.php', true);  
 xhr_object.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 xhr_object.send('devis_clt='+devis_clt+'&devis_date='+devis_date+'&devis_ref='+devis_ref+'&devis_entete='+devis_entete+'&devis_pied='+devis_pied+
     '&devis_prix='+devis_prix+'&devis_num='+n+'&action='+action);
 xhr_object.onreadystatechange = function() {
       if(xhr_object.readyState == 4) {
   actu_div('liste_historique_client','liste_historique_client.php?clt_num='+devis_clt+'&reload=1');


    document.getElementById('contenu_devis').innerHTML =xhr_object.responseText ;
      }
               }
}

Si je met une alert dans la fonction : alert(devis_entete); la popup ne me retourne aucun donnee.

Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
4 mai 2008 à 18:36
Bonjour à tous je désire faire quelques choses que visiblement vous savez tous déjà faire «  Utiliser FCK editor pour insérer des données dans une base de données.


Je sais créer une base de donnée (Phpmyadmin ou Wamps)


Je sais installer FCK Editor


Rien de compliqué dans cela mais, comment faire le lien entre les deux ?



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Quand je suis sur FCK Editor (page ajout.php) et que je saisi un contenu, si je clique sur le bouton submit, la page sampleposteddata.php s’ouvre donc avec mon contenu et les balizes générées par FCK editor, tout cela vous le savez déjà.



 




Comment dois je faire pour que quand je clique sur submit le résultat s’insère directement dans une base de donnée sans passer par la page sampleposteddata.php ?



 




Je cherche des réponses, des tutoriaux sur le sujet, tout ce qui pourra m’aider (Pour infos au cas ou… l’anglais et moi, c’est 0 pointé…)
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
5 mai 2008 à 07:26
Tout dépend de la façon dont vous voulez traiter votre post.

- si vous voulez lancer une page php qui va traiter vos données et les enregistrer
- si vous voulez traiter vos données par ajax (ce sui est plus joli puisque la totalité de notre page n'est pas reloadée)

Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
5 mai 2008 à 09:31
Bonjour



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Deux bonnes questions que je ne m’étais pas posée !


Je voudrai simplement que les données de la page sampleposteddata.php  s’insèrent directement dans un champ à l’intérieur d’une base de donnée.


Un peu a la façon d’un formulaire réalisé avec Dreamweaver, a savoir, quand on clique sur le bouton submit pour envoyer les données contenu dans le formulaire, celle-ci s’inscrivent dans la base de donnée tandis que l’écran affiche une page de mon choix genre « les données ont été enregistrées … », avec l’avantage de FCK Editor qui est pouvoir ajouter une mise en page.



 




Un peu à la façon de ce présent forum…



 




Maintenant, s’il y existe une autre façon de procéder pour arriver à ce résultat je suis ouvert à tout…


Pour ce qui est de l’Ajax, je connais le principe de ce langage mais pour l’instant je n’ai pas encore eu le temps de me pencher dessus aussi je ne suis pas spécialiste.



 




Voila, donc tout bien réfléchi je pense que l’objet de ma recherche se niche plutôt dans votre première proposition – « si vous voulez lancer une page php qui va traiter vos données et les enregistrer », ceci dit je suis preneur de toutes les explications, méthodes et tutoriaux possibles.



 




Merci


Hervé


 
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
5 mai 2008 à 09:56
C'est la solution la plus simple, puisque c'est comparable à une gestion classique de formulaire :

schema type :
fichier : fichier.php
<?
include_once("fckeditor/fckeditor.php") ;
include ("taconnection à ta base.php");
if (isset($_POST("enr")){
$contenu=$_POST("contenu");
$add=mysql_query("INSERT INTO tabase (contenu) VALUES ('$contenu')");
echo "Vos données ont été enregistrées...";

}
else
{ ?>
<form name="nomduform" methode="POST" action="fichier.php">
$oFCKeditor = new FCKeditor('contenu') ;
$oFCKeditor->BasePath = 'fckeditor/' ;
$oFCKeditor->Value = '' ;
$oFCKeditor->Create() ;

</form>
<? }?>

Voila, ça devrait marcher...
En fait le nom que tu donnes à ton champ (textarea) de FCKeditor est à entrer dans la creation de l'objet . Ici, je l'ai appelé contenu.

Dis moi si c'est ok pr toi.
Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
5 mai 2008 à 15:23
Euh bien bon, je dois être un peu ignorant…. voire davantage…


Marche pas, mais c’est de ma faute, je vais donner des détails techniques.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




La base de donnée, pour l’exemple, je l’appelle « fck_editor », à l’intérieur, une table nommée « contenu » et enfin un champs nommé « textes » dans lequel je souhaite insérer des contenus.



 




Pour les dossiers, mettons que j’ai deux dossiers et un fichier index.php.


Le fichier index.php sert à afficher le contenu de la base de donnée.


Un des dossiers est nommée « Connections » et contient le fichier (fck_editor.php) de connections à la base de donnée.


L’autre dossier je vais l’appeler « admin » et il contient l’ensemble des dossiers et fichier de fck editor dont les fichier « ajout.php » et  « sampleposteddata.php ».



 




J’ai collé et modifié ton code dans le fichier ajout.php (Je suppose que c’est cela que je devais faire) … mais en vain alors si tu veux bien être un poil plus précis. En tout cas merci pour ta réponse.



 




Amicalement


Hervé.


 
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
5 mai 2008 à 15:36
Post moi le code de ajout.php

Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
5 mai 2008 à 15:53
Waouh...merci

<?php
include_once("fckeditor/fckeditor.php") ;
?>
<html>
<head>
  <title>FCKeditor - Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

  <form action="sampleposteddata.php" method="post" target="_blank">
<?php
$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath = 'fckeditor/' ;
$oFCKeditor->Value = '' ;
$oFCKeditor->Create() ;
?>
   

   
  </form>

</html>
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
5 mai 2008 à 16:23
vire le target

Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
5 mai 2008 à 17:09
Eh oui et....

Je suis désolé, peut-être que j'abuse mais ne prends pas peur à l'idée d'être prolixe dans tes explications.

Bon j'en suis toujours au même point, je n'ai toujours pas réussi à insérrer quoi que ce soit dans le champs "textes" de ma base de donnée. Je penses que je dois mal configurer le fichier ajout.php (C'est donc celui la qu'il faut modifier...).
Donc eu égard a mes précéents posts si tu pouvais avoir la délicatesse d'être précis...

Merci
Hervé
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
5 mai 2008 à 17:15
premiere verif : est ce que tu vois le champ fckeditor apparaitre normalement (avec le icones en haut)
deuxieme verif : donnes moi la structure des champs de ta base de donnée (type,...)
troisieme verif : post moi le code de sampleposteddata.php

Laisses moi 3 mn et je te dis...

Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
5 mai 2008 à 21:40
1er vérif : oui quand je lance le fichier ajout.php je vois bien le champs de texte et les outils de mise en page.


La struture actuelle du fichier ajout.php :



<?php<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





include_once("fckeditor/fckeditor.php") ;





?>





<html>





<head>






  <title>FCKeditor - Sample</title>





<meta http-equiv="Content-Type" content="text/html; charset=utf-8">





</head>











  <form action="sampleposteddata.php" method="post">





<?php





$oFCKeditor = new FCKeditor('FCKeditor1') ;





$oFCKeditor->BasePath = 'fckeditor/' ;





$oFCKeditor->Value = '' ;





$oFCKeditor->Create() ;





?>






   






   






  </form>










</html>



 






2eme vérif :



La base de donnée :


Structure du fichier de connexion :



<?php





# FileName ="Connection_php_mysql.htm"





# Type= "MYSQL"





# HTTP="true"





$hostname_fck_editor = "nomduserveur";






$database_fck_editor = "pixelatefck";







$username_fck_editor = "nomutilisateur";





$password_fck_editor = "motdepasse";





$fck_editor = mysql_pconnect($hostname_fck_editor, $username_fck_editor, $password_fck_editor) or trigger_error(mysql_error(),E_USER_ERROR);





?>



 






Structure de la base
 : nom : pixelatefck



Nom de la table : contenu



Structure de la table contenu : 2 champs



Le 1er champs se nomme « id » de type int(10), attribut « unsigned », extra « auto_increment », clef primaire.



Le second champ se nomme « textes », et il est de type « text »


(C’est dans ce champ que je souhaite pouvoir insérer des données…)



 





 






3eme vérif :



La structure de la page samplepostdata.php


<?php


/*



 * FCKeditor - The text editor for Internet - http://www.fckeditor.net



 * Copyright (C) 2003-2007 Frederico Caldeira Knabben



 *



 * BEGIN LICENSE



 *



 * Licensed under the terms of any of the following licenses at your



 * choice:



 *



 *  - GNU General Public License Version 2 or later (the "GPL")



 *    http://www.gnu.org/licenses/gpl.html



 *



 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")



 *    http://www.gnu.org/licenses/lgpl.html



 *



 *  - Mozilla Public License Version 1.1 or later (the "MPL")



 *    http://www.mozilla.org/MPL/MPL-1.1.html



 *



 * END LICENSE



 *



 * This page lists the data posted by a form.



 */


?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<html>



            <head>



                        <title>FCKeditor - Samples - Posted Data</title>



                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">



                        <meta name="robots" content="noindex, nofollow">



                        <link href="../sample.css" rel="stylesheet" type="text/css" />



            </head>



           



                        FCKeditor - Samples - Posted Data



                        This page lists all data posted by the form.



                        <hr>



                                                           ----

                                               Field Name&nbsp;&nbsp;,

                                               Value,

                                  

<?php

 

if ( isset( $_POST ) )

   $postArray = &$_POST ;                           // 4.1.0 or later, use $_POST

else

   $postArray = &$HTTP_POST_VARS ;      // prior to 4.1.0, use HTTP_POST_VARS

 

foreach ( $postArray as $sForm => $value )

{

            if ( get_magic_quotes_gpc() )

                        $postedValue = htmlspecialchars( stripslashes( $value ) ) ;

            else

                        $postedValue = htmlspecialchars( $value ) ;

 

?>

                                   ----

                                               <?=$sForm?>,

                                               <?=$postedValue?>,

                                  

<?php

}

?>

                       



           


</html>



 





 





 




Voila, tu as tout ton temps, en tout cas merci beaucoup



 




Hervé


 
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
5 mai 2008 à 22:42
C'est pas trés clair ton truc...t'as piqué ça où???

A aucun moment tu n'enregistres les données ds ta base..ou alors j'ai pas tout.Le fichier samplepostdata ne sert qu'a réafficher les données mais ne les enregistre pas dans une base.

Met ton champ texte en Longtext... ça evite les soucis de taille.

La methode qui marche (chez moi)

1 seul fichier (plus simple pour la maintenance..)

<?
include_once("fckeditor/fckeditor.php") ;
include("ton fichier de connection à ta BD.php");


if( isset($_POST["maj"])){
$contenu=$_POST["FCKeditor1"];
$add=mysql_query("INSERT INTO contenu (contenu) VALUES ('$contenu')");
echo "Ok c'est enregistré";


}
else {?>
<form method="post" target="_self" >
<?
$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath = 'fckeditor/' ;
$oFCKeditor->Value = '' ;
$oFCKeditor->Create() ;
?>

</form>


<? }?>
tu gardes ton fichier de connexion à ta base (Connection_php_mysql.htm) que je te conseille de renommer en .php
Reste à savoir si ton serveur gère les magicquotes ou pas pour savoir si tu rajoute ou pas tes caractères d'echappement.



Normalement tu ne devrais pas avoir de pb d'enregistrement.
Tu pourrais convertir les données de $contenu avec htmlspecialchars() ce qui permet d'éliminer les espaces(en rajoutant des caractères spéciaux), mais tout dépend de ce que tu veux faire de tes données ensuite..

Dis moi si ça te va...


En tout cas, ton code est une machine à gaz...
Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
6 mai 2008 à 00:36
Bon j’oublie mon code tout pourris, j’ai repris ton code et l’ai inséré dans une page ce qui me donne :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>


<html xmlns="http://www.w3.org/1999/xhtml">


<head>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


<title>Document sans titre</title>


</head>




<?


include_once("fckeditor/fckeditor.php") ;


include("../Connections/fichierdeconnexion.php");


if( isset($_POST["maj"])){


$contenu=$_POST["FCKeditor1"];


$add=mysql_query("INSERT INTO contenu (contenu) VALUES ('$contenu')");


echo "Ok c'est enregistré";


}


else {?>


<form method="post" target="_self" >


<?


$oFCKeditor = new FCKeditor('FCKeditor1') ;


$oFCKeditor->BasePath = 'fckeditor/' ;


$oFCKeditor->Value = '' ;


$oFCKeditor->Create() ;


?>






</form>


<? }?>






</html>



 




J’ai bien l’interface de fck Editor qui apparaît,  j’ai bien l’echo « Ok, c’est enregistré » quand je clique sur « submit » mais toujours rien d’enregistré dans la base de donnée… ?


Rappel de la structure :




Structure de la base


 :



Nom de la base : pixelatefck,



Nom de la table : contenu,



Structure de la table contenu : 2 champs



Le 1er champs se nomme « id » de type int(10), attribut « unsigned », extra « auto_increment », clef primaire.



Le second champ se nomme « textes », et il est de type « text »





(C'est dans ce champ que je souhaite pouvoir insérer des données.)


Sachant que c’est dans le second champ « textes » que je veux pouvoir insérer des données, je viens d’essayer de reformuler de plusieurs façons possibles la ligne :



$add=mysql_query("INSERT INTO contenu (contenu) VALUES ('$contenu')");




La connexion avec la base est bien établie, j’ai vérifié...



 




Mais rien n’y fait… en tout cas merci du temps que tu as bien voulu me consacrer.



 




Amicalement


Hervé


 
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
6 mai 2008 à 07:17
cela provient de ta base :

fait :
$add=mysql_query("INSERT INTO contenu (textes) VALUES ('$contenu')");<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

met le champ textes en longtext dans ta base

Il n'y a pas de raison pour que ça marche pas.
Tu vas y arriver

Faites vous plaisir !!
0
Riliono Herve Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 2 novembre 2008
6 mai 2008 à 09:01
Ayet ! ça marche, Grand merci à toi.


Je voulais réaliser une interface pour faire des mises à jour texte pour un site.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Hervé
0
Rejoignez-nous