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

JavaScript Discussion :

textarea et PHP


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 97
    Par défaut textarea et PHP
    Bonjour
    Je réalise un petit site pour la gestion de mon emploi du temps.

    J'ai des informations issues d'une base de données. Celles-ci sont issues d'un textarea et passées dans un stripslashes pour échapper les '.

    Sur une journées j'affiche mes différentes activités. Quand je clique sur l'une d'elle je souhaite que les informations ailles dans le formulaire. Tout ce passe bien pour les informations dirigées vers un <input>, <select>. Par contre pour <textearea> ce n'est ps la même chose.
    Si j'utilise la fonction htmlentities pour changer l'écriture des ', je les trouve écrites en HTML. Si je ne le fais pas, il l'interprète comme une fin de phrase et le reste de mon script est faux.

    Quelqu'un a sans doute une solution.
    Merci

    Voici des extraits du code php
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Extraction des commentaires de la base
    $activites[$a->Id]['Commentaires']=nl2br(htmlentities(stripslashes($a->Commentaires),ENT_QUOTES));

    Voici des extraits du code javascript
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // construction de la structure javascript à partir des variables PHP
    <?php 
       echo"activites[$i]['Commentaires']='$heures[Commentaires]';";
    ?>
    // assignation du textarea avec les commentaires contenus dans la structure
    commentairesAct.value=activites[i]['Commentaires'];

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    je n'ai pas bien compris ton problèmes.
    Tu veux insérer des infos contenues dans un textarea dans une BD c'est ça ?
    Tu peux utiliser addslashes et stripslashes (pour ajouter et supprimer des slashs) ou bien tu peux utiliser mysql_real_escape_string.
    Sinon tu as essayé d'utiliser html_entity_decode() afin qu'il t'affiches tes guillemets plutôt que les entités HTML ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 97
    Par défaut
    Désolé si l'explication n'était pas clair.
    Le problème est que si la chaine de caractère contient ' alors le javascript n'est plus bon
    Ex: j'ai la chaine. $c="Cours d'improvisation";
    si je la place dans une variable javascript je vais écrire
    echo"chaine='$c'";
    de ce fait en javascript il va y avoir
    'Cours d'improvisation'
    En échappant le ' avant improvisation, je vais le retrouver dans le textarea.

    Voici le gros problème.

  4. #4
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Dans ce cas
    Citation Envoyé par trotters213
    Sinon tu as essayé d'utiliser html_entity_decode() afin qu'il t'affiches tes guillemets plutôt que les entités HTML ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 97
    Par défaut
    Je concois parfaitement cette fonction si ce qui sort de la base de données est directement mis dans le textarea, mais étant donné que je passe par une structure javascript pour des raison d'affichage dynamique je n'ai pas trop le choix afin d'éviter les ' de la syntaxe javascript et ceux du texte .
    Il faudrait un équivalent javascript à cette fonction php.

  6. #6
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Dans ce cas je ne vois pas ce qui t'empêche d'utiliser addslashes et stripslashes
    Excuse moi mais j'ai vraiment du mal à cerner ton problème

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 97
    Par défaut
    Je reprend l'exemple de plus haut en étant plus précis

    Je recherche dans ma base, l'ensemble de mes cours pour une date précise. Un cours est composé d'une heure de début et de fin et d'un comentaire.
    J'affiche un formulaire sur la gauche de l'écran et sur la droite de mon écran l'ensemble des cours de la journée.
    Si je clique sur un des cours je veux que les champs du formulaire se remplissent. Donc pour les heures de début et de fin pas de PB, mais en ce qui concerne les commentaire c'est autrechose.

    Voici l'ensemble du code pour modificer le commentaire;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Soit obj=mysql_fetch_object(result);
    Soit la chaine $c=stripslashes(obj->Commentaire);
     
    jusque la pas de PB
     
    J'assigne maintenant une variable préalablement déclarée
    echo"<script>chaine='$c'</script>";
     
    Ce qui fait qu'en fonction du contenu du commentaire (s'il contient ou non le caractère '), il va y avoir une erreur de syntaxe javascript
    Il est vrai que le titre de cette discussion est mal choisi, mais l'objectif final est de modifier le contenu du texarea.

Discussions similaires

  1. [CKEditor] Afficher la valeur de mon textarea via PHP
    Par Arget dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 03/08/2011, 11h17
  2. Textarea et PHP
    Par kanabzh29 dans le forum Langage
    Réponses: 1
    Dernier message: 18/04/2011, 19h47
  3. Formulaire PHP -> les textarea
    Par gailup dans le forum Langage
    Réponses: 8
    Dernier message: 17/06/2006, 22h29
  4. Réponses: 9
    Dernier message: 29/03/2006, 16h40
  5. php textarea
    Par amigauss dans le forum Langage
    Réponses: 1
    Dernier message: 17/02/2006, 11h15

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