prise en compte des "retour a la ligne"

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 : prise en compte des "retour a la ligne"

par zeus » 22 mai 2006, 17:43

Effectivement, les forums, et plus largement la comunauté PHP, est présente pour echanger des connaissances et des expériences, c'est tout a fait vrai.

Mais il y a des limites ... des questions sont souvent abordée et une simple recherche rapide sur PHPFrance te permet d'aller beaucoup plus vite que d'attendre une réponse.

Si tu fait confiance à ceux qui te donnent une réponse, tu peut faire confiance à ceux qui ont répondu sur ce même forum dans le passé ;)

par béka » 22 mai 2006, 17:35

en fait, il est vrai qu'il aurait été facil d'obtenir des informations concernant cete fonction, mais tu sais comme moi qu'il y a une multitude d'information qui peut être erronée sur Internet. De plus je croyais que ce forum servait a ceci( je me suis peut etre trompé).

Mais il est vrai, je le reconnais, que j'aurais pu faire des recherches sur phpfrance.com

Enfin, j'ai réussi à résoudre ce problème.
merci pour ton aide zeus

par zeus » 22 mai 2006, 17:29

Je ne suis pas totalement d'accord avec toi

C'est plus long sur le moment, oui
A long terme, tu retiendras mieux ce que tu as cherché par toi même.

Sur le temps de recherche, je suis franchement septique :-k

Je suis allé sur la recherche du forum et j'ai tapé "insertion apostrophe" (rien d'exeptionnel, 2 mots que tu as mis dans ton post) et regarde le 4eme résultat
http://www.phpfrance.com/forums/viewtop ... apostrophe

Alors ? ;)

PS : de plus, le multipost est interdit, j'ai supprimé l'autre message

par béka » 22 mai 2006, 17:14

si je procède ainsi, c'est essentielement pour gagner du temps. Car une recherche peut-etre assez lognue...
Et je peux assurer que je tente, que je fais des essais (avec un livre) avant de poser la question sur le forum.

par zeus » 22 mai 2006, 17:07

Tu es quelqu'un de motivé et tu tentes des choses pour apprendre, c'est bien. Mais si tu veux réellement avancer, il faut que tu apprennes à chercher par toi même.

Je ne dit pas ça pour t'embeter, surtout que je vais te donner la réponse pour cette fois ci, mais parce que si tu attends toujours que quelqu'un te donnes la réponse, tu va assez vite te retrouver coincé ...

La question que tu poses est un problème courant qui est souvent abordé.

Une petite recherche sur le forum ou sur google t'aurait apporté des tas de réponses ...

regarde du côté de addslashes()

par béka » 22 mai 2006, 16:24

nouveau probleme qui intervient toujours dans le meme "milieu".
Lorsqu'on saisit du texte, pour qu'il soit enregistré dans une BDD, il ne faut pas qu'il y est d'apostrophe alors de cette forme d\'apostrophe

COmment éviter ce désagrément?

par zeus » 22 mai 2006, 13:59

Est-ce que ton problème est [RESOLU] ?

Dans ce cas, n'oublie pas le tag ;)

par béka » 22 mai 2006, 13:34

oui oui, ca j'avais bien compris pour l'affichage mais ce que je ne savais ps c'est qoment était interprété les retours a la ligne dans la base de données mais tu as répondu a ma question, merci.

par zeus » 22 mai 2006, 12:03

le \n n'est pas visible tel quel mais si tu regarde le champs, tu as un saut à la ligne dans le code source pas dans la page HTML (j'imagine que tu utilise phpMyAdmin)

Les données que tu récupères du formulaire et que tu enregistres dans la base de données contiennent des retours à la ligne "normaux" \n. C'est ce qu'il faut faire et cette méthode fonctionne chez toi

Le problème tel que tu nous l'as exposé, c'est qu'a l'affichage dans une page web, tu n'as pas les sauts de lignes. Je t'ai répondu que si, les sauts de lignes sont présents, mais pas visible car le code HTML ne répercute pas le \n. Il faut transformer ce saut à la ligne par un caractère que HTML peut comprendre : <br />

Cette étape ne concerne que l'affichage des données. Tu ne doit passer la chaine dans la fonction nl2br() uniquement au moment de l'affichage, surtout pas quand tu fait des insertion en base ;)

par béka » 22 mai 2006, 11:46

Pour mieux comprendre( je suis curieux), comment est-ce que cela se traduit dans la BDD? Car quand je vais lire directement le texte que l'utilisateur a saisi et qui est alors insérer dans la base de données, je ne vois ni <br /> ni \n ?

par zeus » 22 mai 2006, 11:43

Tout à fait

nl2br(string) retourne la chaine string en ayant remplacé les \n par des <br />

Donc echo nl2br(string) va afficher string avec des retours à la ligne visible sur une page html

Mais le meilleur moyen de voir, c'est d'essayer ;)

par béka » 22 mai 2006, 11:41

c'est à dire qu'en utilisant la fonction nl2br() lorsque je ferais mon echo, on pourra voir automatiquement lorsque l'utilisateur aura appuyé sur la touche Entrer pour revenir à la ligne?

par zeus » 22 mai 2006, 11:33

C'est simplement que, dans la zone de saisie, les retours à la ligne sont des \n.

Dans une page internet, \n ne permet qu'un retour à la ligne dans le code, mais pas à l'affichage où il faut utiliser <br />

Pour transformer les \n en <br />, tu peut utiliser la fonction nl2br()

prise en compte des "retour a la ligne"

par béka » 22 mai 2006, 11:31

Voila, je voudrais qu'un utilisateur saisisse du texte dans un champ de saisi prévu a cet effet. Mais le problème c'est que quand je veux rafficher sur une autre page le texte qu'il a saisi, l'affichage ne prend pas en compte les retours à la ligne. Tout s'affiche à la suite.

Comment faire pour résoudre ce problème? je suppose que la solution doit être simple.