IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Afficher la valeur de mon textarea via PHP [CKEditor]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut Afficher la valeur de mon textarea via PHP
    Bonjour à tous,
    Me voici face à un problème qui me fait perdre pas mal de temps là ^^.

    Ayant découvert CKEDITOR, je compte bien l'utiliser pour certains de mes sites web..
    J'arrive donc bien évidement à m'en servir afin de stocker mon texte dans une base de donnée .. Mais le problème viens lorsque je souhaite éditer une page.

    Je le fais de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                    <p>
    		    <label for="texte">Texte: *</label><br/>
    		    <TEXTAREA rows="10" cols="50" id="texte" name="texte" value="<?php echo $texteSelected; ?>"></textarea>
    		    <script type="text/javascript">
    			CKEDITOR.replace( 'texte' );
                        </script>
    		</p>
    Mais, le texte ne s'affiche pas, ou ne s'affiche pas correctement ..
    Existe-t'il une méthode permettant de retrouver le texte d'origine ?

    Merci d'avance pour l'aide que vous pourrez m'apporter !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Arget Voir le message
    J'arrive donc bien évidement à m'en servir afin de stocker mon texte dans une base de donnée ..
    Mais le problème viens lorsque je souhaite éditer une page.
    Tout dépend comment tu as traité le texte avant de le stocker en BdD.
    Et comment tu le récupères pour l'afficher.

    Ton bout de code ne nous dis rien là-dessus ...

    Citation Envoyé par Arget Voir le message
    le texte ne s'affiche pas, ou ne s'affiche pas correctement ..
    C'est-à-dire ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut
    Humpf, je n'ai pas le code sous les yeux en ce moment même, il est sur mon PC au boulot ..

    Mais en gros, à partir de cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <p>
    		    <label for="texte">Texte: *</label><br/>
    		    <TEXTAREA rows="10" cols="50" id="texte" name="texte" ></textarea>
    		    <script type="text/javascript">
    			CKEDITOR.replace( 'texte' );
                        </script>
    		</p>
    Et bien je récupère le $_POST['texte'] que je stock immédiatement dans la BDD mysql. Donc bien évidement, au niveau de la colonne texte dans ma BDD, le texte est du style: "<p>mon texte etc..</p>".
    Et au niveau de l'affichage, je récupère simplement la valeur de texte présente dans ma BDD. (A ce niveau là, pas de problèmes, l'affichage est parfait).

    Mais là où le problème vient, c'est lorsque je veux éditer la valeur contenue dans "texte".
    J'affiche donc comme je l'ai présenté précédemment dans mon premier post mon texte dans un textarea, avec comme value le texte que je récupère de ma BDD. Mais, c'est soit j'obtiens un textarea vide, soit quelque chose du genre:
    <
    un message
    Et rien de plus :/

    J'espère que j'ai été clair, je ne suis pas très pédagogue xD

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut
    Après avoir pas mal cherché hier soir, j'ai découvert la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                    <p>
     
    		    <label for="texte">Texte: *</label><br/>
     
    		    <TEXTAREA rows="10" cols="50" id="texte" name="texte"></textarea>
    		    <script type="text/javascript">
    			CKEDITOR.replace( 'texte' );
    			CKEDITOR.instances.texte.setData('<?php echo $texteSelected; ?>', function(){
    				this.checkDirty();
    			});
                        </script>
    		</p>
    Mais bon, le problème, c'est que ça ne m'affiche rien du tout ^^. Le WISIWYG est vide quoi !

    Alors que lorsque je fais quelque chose de simple comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			CKEDITOR.instances.texte.setData('<p>Du texte</p>', function(){
    				this.checkDirty();
    			});
    ça marche parfaitement ..
    Et pourtant, ma variable est loin d'être vide, j'ai vérifié ...

    Je tiens à préciser que j'ai essayé avec simple, double quote, et même sans, j'ai aussi essayé en transférant ma variable php dans une en js que j'utilisais dans le setData(), sans aucuns effets ^^.
    Haha qu'elle galère ^^

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    essaye simplement comme ca : -> htmlentities()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php // recuperation depuis la BdD
            $contenu_texte = .........;
    ?>
    		<p>
    		    <label for="texte">Texte: *</label><br/>
    		    <textarea rows="10" cols="50" id="texte" name="texte" ><?php echo htmlentities($contenu_texte); ?></textarea>
    			<script type="text/javascript">
    				CKEDITOR.replace( 'texte' );
    			</script>
    		</p>
    PS : AVANT d'enregistrer en BdD, j'espère que tu penses à protéger contre les injections SQL : mysql_real_escape_string()

    PS2 : je précise que je ne connais pas la syntaxe de CKEDITOR (j'utilise encore l'ancienne version FCKEDITOR, qui fonctionne très bien ...)

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut
    AH !! Parfait, ça marche =).
    Et bien, à vrai dire, pour l'instant je ne suis pas très calé en sécurité, et puis là je développe un BackOffice, donc ce n'est pas non plus très grave, mais il est vrai que je ferais mieux d'y jeter un œil !

    En tout cas, merci beaucoup, ça me sauve la vie

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Arget Voir le message
    pour l'instant je ne suis pas très calé en sécurité, ...
    Un peu de lecture ? : Sécurité et développement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
            // recuperation
            $lavariable = stripslashes(trim($_POST['lavariable']));
            // protection avant enregistrement en BdD
            $lavariable_bd = mysql_real_escape_string($lavariable);
     
            // enregistrement INSERT
            $query_insert = "INSERT INTO latable 
                                            (....., lechamp, .....) 
                                            VALUES 
                                            (....., '".$lavariable_bd."', .....);";
            // [...]
            // OU enregistrement UPDATE
            $query_update = "UPDATE latable SET 
                                            ..... = '.....', 
                                            lechamp='".$lavariable_bd."', 
                                            ..... = '.....' 
                                            WHERE id = '".$Id_bd."';";      
            // [...]
    ?>
    Dernière modification par Invité ; 03/08/2011 à 10h34.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/03/2011, 11h17
  2. [MySQL] Afficher une IMAGE dans une BDD via PHP
    Par lothar59 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 07/01/2011, 15h17
  3. Récupérer la valeur de mon textarea
    Par vivi21 dans le forum Langage
    Réponses: 3
    Dernier message: 07/01/2011, 10h44
  4. Afficher la valeur d'une variable via un label
    Par Djey6 dans le forum wxPython
    Réponses: 1
    Dernier message: 15/11/2010, 22h27
  5. Afficher la valeur de mon bouton radio
    Par youkisall dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/11/2007, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo