Version complète: sur le forum Webmaster Hub : Probleme textarea
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
dcdaguet
Je vous expose mon souci


J'ai un formulaire avec un champ textarea. Après validation le texte est enregistré dans une bdd mysql .

Ce texte je l'affiche sous forme d'infobulle.
Ce que j'ai remarqué :
si le texte est tapé dans le textarea avec le clavier il s'affiche bien dans l'infobulle, s'il est copié collé dans le textarea il ne s'affiche plus

Je voudrais savoir si c'est possible de détecter si le texte et copié collé, ou s'il y a une solution pour ce genre de problème

Merci pour votre aide

Daniel
Prélude
Bonjour,
Peut-être que le "problème" n'est pas vraiment là ?!
Peut-être, plus simplement, que les apostrophes ne sont pas échappées ? ' => \'
yuston
Hmmm j'avoue que c'est étrange comme problème. Est-ce que le texte écrit à la main est identique à celui qui est copier-coller? Peut-être que le texte copier-coller contient des caractères spéciaux, par exemple des guillemets.

Et quand tu penses à "infobulle", c'est l'attribut title="Bulle" ? Si tel est le cas, j'avais mentionné les caractères spéciaux, il faudrait que tu utilises un htmlentities(); de PHP, ou dans les pires des cas si tu ne disposes pas de PHP, utiliser le Javascript, avec pour désavantage que si le visiteur n'a pas de Javascript activé, il sautera cette étape.
dcdaguet
Si les apostrophes sont bien échappées. J'ai même poussé le vise a les supprimer avant l'enregistrement.


Si je fait une page avec simplement un "echo mavariable" le texte s'affiche bien.

S'est simplement dans l'infobulle que je détecte le problème.



Daniel

dcdaguet
J'ai trouvé d'ou viens le problème(je pense). Mais j'ai pas la solution

Rien a voir avec le copier coller

Dans le textarea si j'utilise la touche "enter" pour un retour a la ligne ,le texte ne s'affiche pas, si j'écris le même texte sans passer a la ligne il s'affiche.

Pour l'info bulle j'utilise overLIB 4.21

Quant j'édite le texte dans la bdd je ne vois pas de caractère spécial


Daniel
yuston
Essaie de passer un nl2br(); à l'affichage de ton texte dans l'infobulle. Personnellement je ne connais pas du tout overLIB.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.