sauts de ligne supprimé, cause ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : sauts de ligne supprimé, cause ?

Re: sauts de ligne supprimé, cause ?

par AurelienC » 22 mars 2011, 21:57

E vrai dire toute la partie "vitrine" de mon site est faite avec Serif WebPlus X4, je n'ai pas les compétences pour faire un site entier de cette "qualité" moi-même en codant tout...

j'ajoute juste en php (je découvre depuis 6 mois à peine !) un agenda, des actualités et un espace membre qui reprend des info de Dolibarr

Re: sauts de ligne supprimé, cause ?

par moogli » 22 mars 2011, 21:53

heu désolé mais change d'éditeur dans ce cas :)

il en existe plein (gratis ou non) sachant gérer cela sans problème (par exemple notepad++, netbeans, kedit etc :) ).

si tu a ton fichier en iso et les données provenant de la db en utf-8 y a des chances que ça foute le brin :)

si tu doit faire un stripslashe c'est que le magic_quote_runtime doit être à un ( a moins que tu n'ai ces slashes dans la table ?). tu peut essayer de désactiver les magic_quote avec ini_set


@+

Re: sauts de ligne supprimé, cause ?

par AurelienC » 22 mars 2011, 21:47

Bonsoir,

merci pour vos réponses, j'ai rajouté stripslashes() en plus de html_entity_decode() lors de l'affichage et ça résout le problème.

Pour ce qui est du reste, mon site est en ISO 8859-2 (je ne peux pas changer car je fais avec un logiciel et si je met UTF8, session_start() ne marche plus car le logiciel fout des trucs avant...) et MySQL est en UTF8 Unicode CI (je ne trouve rien en ISO quelque chose...)

Re: sauts de ligne supprimé, cause ?

par moogli » 22 mars 2011, 21:02

salut,

montre nous le code ce sera plus simple :)

pour le problème de charset faq-tutoriels/encodage-utf-t245062.html


@+

Re: sauts de ligne supprimé, cause ?

par xTG » 22 mars 2011, 20:31

Quel encodage utilises-tu ?
Ton problème viens surtout de là, et c'est pour cela que tu as besoin de passer par htmlentities() afin de ne pas perdre les caractères accentués...
Il faut utiliser le même encodage pour PHP, la bdd, les fichiers et le header html envoyé.

Re: sauts de ligne supprimé, cause ?

par AurelienC » 22 mars 2011, 19:22

j'ai couplé en faisant mysql_real_escape_string(htmlentities()) et html_entity_decode() à la lecture, mais à chaque apostrophe ' ; ça rajoute un anti slach... ça donne
l\'un

Re: sauts de ligne supprimé, cause ?

par AurelienC » 22 mars 2011, 18:42

J'ai fait mysql_real_escape_string à l'ajout et htmlentities à la lecture.. ça me donne ça
test accent éčŕů caractčres &
au lieu de
test accent éèàù caractères &

Re: sauts de ligne supprimé, cause ?

par xTG » 22 mars 2011, 17:47

Ce n'est pas ce que je voulais dire.
Tu n'as normalement aucune raison de faire un htmlentities() avant l'ajout en bdd.
C'est une fonction qui n'est nécessaire que pour protéger l'affichage.

Si tu l'utilises en tant que protection contre les injections SQL je te conseillerai de te tourner vers des requêtes préparées, ou bien mysql_real_escape_string pour le driver MySQL.

Re: sauts de ligne supprimé, cause ?

par AurelienC » 22 mars 2011, 17:41

Merci beaucoup, pour la lecture j'utilise html_entity_decode()

Re: sauts de ligne supprimé, cause ?

par xTG » 21 mars 2011, 20:33

A la lecture, d'ailleurs htmlentities le devrait aussi... ;)

Re: sauts de ligne supprimé, cause ?

par AurelienC » 21 mars 2011, 19:37

Merci pour ta réponse.

Ils sont tout simplement supprimés, j'obtiens un texte sans aucun saut de ligne !

Cette fonction est à mettre avant l'insertion ou après ? (à la "lecture") ?

Re: sauts de ligne supprimé, cause ?

par xTG » 21 mars 2011, 19:31

Ces sauts de lignes sont-ils des \r\n ?
Si c'est le cas c'est tout à fait normal, le navigateur ne les compte pas comme des retours à la ligne (sauf dans le code source).
Utilise la fonction nl2br() qui les convertie en balise <br />

sauts de ligne supprimé, cause ?

par AurelienC » 21 mars 2011, 19:23

Bonjour,

Mes sauts de lignes sont supprimés une fois l'enregistrement dans ma table.

Est-ce que ça vient du type de champ dans la table (text) ou de la fonction htmlentities() puis html_entity_decode() ?

Comment est-il possible de contrer le problème ?

Merci par avance !