Page 1 sur 1

formatage des données d'un formulaire

Posté : 01 juin 2011, 18:57
par Oddant
Salut à tous !

J'ai un petit soucis de compréhension ! :(

Je suis en train de coder la page du livre d'or pour mon site,
J'ai fais un petit formulaire jusqu'ici no problems (nom, prénom, et message).
Le message est frappé dans un <textarea>, une fois le formulaire validé j'envoie le tout :arrow: dans ma base de données (traitement dans un fichier php séparé en POST).
Déjà à partir de là je suis un peu perdu, comment les espaces du message sont-ils encodés dans le header de la page car si j'affiche la var $_POST['message'] dans le fichier de traitement le message est affiché avec les espaces par contre si je regarde le fichier source de la page, je ne vois ni entités ni de balise de traitement du style <br> ou autre. Première interrogation !

Aussi quel est selon vous le meilleur moyen d'afficher un message entré par un utilisateur pour qu'il soit de même format sur le livre d'or que lorsqu'il l'a écrit (avec les espaces, les retours à la ligne et les tabulations) car si je récupère le message depuis ma base de données et que je l'insère entre des balises paragraphes les retours à la ligne ne sont pas comptabilisé (encore une fois lorsque je regarde le code source les retours à la ligne sont bien présent). Une solution consiste à entourer le message avec les balises <pre> (le message s'affiche dans le bon format) mais le problème c'est que si une ligne est trop longue elle sort du cadre (à noter au passage que l'attribut width de la balise pre est déprécié dommage... ca marchait bien sur firefox).
Bref j'aurais vraiment besoin d'aide j'arrive pas à trouver un moyen d'afficher le texte de l'utilisateur dans le bon format dans une box de, disons, 200px de large et si des lignes surpassent cette longueur alors qu'elles retournent automatiquement en dessous. Est-ce si compliqué ? Ca fait depuis le début d'aprèm que j'essaie de faire ça et je suis toujours coincé #-o

Merci beaucoup

Re: formatage des données d'un formulaire

Posté : 01 juin 2011, 21:04
par sadeq
Bonjour,

regarde du côté de l'attribut WRAP de la balise <textarea> qui gère le retour à la ligne automatique.
WRAP peut avoir trois valeurs :
"soft" : retour à la ligne automatique sans inclure le retour-chariot dans le texte
"hard": retour à la ligne automatique avec inclusion du caractère retour-chariot dans le texte
"off": retour à la ligne désactivé.
Exemple:
<textarea name="texte1" cols="25" rows="5" wrap="hard">blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla </textarea>

Re: formatage des données d'un formulaire

Posté : 02 juin 2011, 02:27
par AB
Si tu veux que le message affiché respecte les retours de lignes insérés par le visiteur tu peux utiliser la fonction nl2br à l'affichage.

Si tu veux que les espaces multiples soient pris en compte tu peux formater par exemple un bloc id="conteneur "de ton message en css avec white-space:pre;
#conteneur {
white-space:pre; 
}

Re: formatage des données d'un formulaire

Posté : 02 juin 2011, 18:52
par Oddant
Merci pour vos réponses, j'utilise finalement la fonction php wordwrap, j'aurais quand même besoin d'explications
Bonjour,

regarde du côté de l'attribut WRAP de la balise <textarea> qui gère le retour à la ligne automatique.
WRAP peut avoir trois valeurs :
"soft" : retour à la ligne automatique sans inclure le retour-chariot dans le texte
"hard": retour à la ligne automatique avec inclusion du caractère retour-chariot dans le texte
"off": retour à la ligne désactivé.
Exemple:
<textarea name="texte1" cols="25" rows="5" wrap="hard">blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla </textarea>
En regardant dans les dtds des différentes implémentations html je ne vois pas l'attribut wrap pour le tag textarea et d'ailleurs quand je test dans un document html ca ne semble pas fonctionner, comment as-tu découvert ça ? 8-|

Re: formatage des données d'un formulaire

Posté : 02 juin 2011, 19:35
par sadeq
C'est normal, c'est un attribut non-standardisé, regarde ici par exemple: http://fr.selfhtml.org/html/formulaires ... re_passage

Re: formatage des données d'un formulaire

Posté : 02 juin 2011, 20:30
par Oddant
Ok je vois :) merci pour la précision