Les labels pour un formulaire

Mammouth du PHP | 725 Messages

30 mai 2011, 18:16

bonjour,

j'ai un code de creation d'un formulaire, apres la creation des champs, j'ai voulu mettre une label pour chaque champs, c'est quoi votre proposition d'ajouter ces champs labels en face de chaque champs.

Merci

Eléphant du PHP | 241 Messages

30 mai 2011, 19:18

Salut,

pas trop compris...
<label for="mon_champ">mon_champ</label><input type="text" name="mon_champ" id="mon_champ" />
Voila comme mettre un label a un champ de formulaire.

Mammouth du PHP | 725 Messages

30 mai 2011, 19:40

Salut,

pas trop compris...
alors le formulaire se genere de la facon suivante:

$this->formulaire[] = '<form name action .... ">';
$this->formulaire[] = '<input type="text" .... ">';
$this->formulaire[] = '<input type="password" .... ">';


function createForm()
			{
$creerForm = '';
foreach($this->FormField as $k=>$v)
			{
				$creerForm .= $v;
			}
echo $creerForm; // il va m'afficher le formulaire
}
en ajoutant les labels avec la methode traditionnelles:
$this->formulaire[] = 'label1: <input type="text" .... ">';
$this->formulaire[] = 'label2: <input type="password" .... ">';
en faisant le loop foreach je recois les labels que je dois les mettre dans chaque champs :(

alors j'ai pense a faire une chose, de les mettre en variable et les inputer avec la boucle foreach

ViPHP
AB
ViPHP | 5818 Messages

30 mai 2011, 22:40

Et pourquoi pas
$this->formulaire[] = '<form name action .... ">';
$this->formulaire[] = '<label for= ..>..</label>';
$this->formulaire[] = '<input type="text" .... ">';
$this->formulaire[] = '<label for= ..>..</label>';
$this->formulaire[] = '<input type="password" .... ">';

Mammouth du PHP | 725 Messages

01 juin 2011, 03:37

Et pourquoi pas
$this->formulaire[] = '<form name action .... ">';
$this->formulaire[] = '<label for= ..>..</label>';
$this->formulaire[] = '<input type="text" .... ">';
$this->formulaire[] = '<label for= ..>..</label>';
$this->formulaire[] = '<input type="password" .... ">';
je voudrais mettre la variable juste une seule fois, par exemple:
foreach($this->formulaire as $k=>$v)
{
echo $label.': '.$v;
}
le code html genere serait:
<form ....>
nom: <input type='text' name='nom'...><br>
prenom: <input type='text' name='prenom'...><br>
adresse: <textarea.. name='adresse'...></textarea><br>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 juin 2011, 22:07

Tu peux mettre le label en clé de ton tableau, dans ton tableau ou faire un tableau à deux dimensions... Mais la façon dont tu construis ton tableau n'est pas cohérente : tu inclus dedans les balises du formulaire ainsi que les éléments qui le composent, ce qui n'est pas logique par rapport au traitement que tu veux mettre en place...

Soit ton tableau contient du html et dans ce cas tu peux suivre la suggestion d'AB, soit ton tableau contient juste tes inputs et tu pourras avoir un traitement automatisés... mais si dans le tableau j'ai un coup une balise form, un coup une balise input, un coup un div, l'automatisation va être des plus ardues :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 725 Messages

02 juin 2011, 03:30

je vais opter pour une label en face de chaque champs, c'est facile a l'utiliser, merci AB et Ryle