Trucsweb.com

Forum de discussion

 Forum « Programmation PHP » (archives)

Re: Formulaire sur plusieurs pages HTML

Envoyé: 17 avril 2004, 9h49 par Oznog


Salut,

C'est domage que l'ont doivent toujours jouer à la police. J'étais près à répondre hier mais le mot "urgent" m'oblige à attendre selon la politique du forum.

Alors voilà, tu as deux solution, ou bien tu utilise une session comme parle nicordi (qui utilise les cookies de façon caché) et ainsi stocker les valeurs en mémoire et les récupérer tout au long de la session.

Mais contrairemnt a nicordi selon moi l'idéale consiste à utiliser les éléments cachés d'un formulaire. Élément de type "hidden". En Javascript c'est pas mal complexe mais avec un langage serveur c'est beaucoup plus simple car récupérer les valeurs de l'en-tête HTTP se fait tout simplement par $monChampDeFormulaire.

Alors l'idée est de récupérer les données du formulaire précédent et de les stocker dans un champ caché afins d'y accéder dans le formulaire suivant.

MAIS ATTENTION, tu dois aussi gérer le cas où le visiteur décide de revenir au formulaire précédent. C'est pourquoi le meilleurs méthode consiste à :

1. Tu imagine à l'avance 100% des formulaires, c'est à dire tous les formulaire (Musiciens, Musiciens_2, Musiciens_3...) dans la même page.

2. Tous les champs qui doivent se retrouver sur les formulaires précédent ou les formulaires suivant doivent être convertie en champ caché.

Ex:

J'ai une champ de type "input" monTexte <input type="text" name="monTexte"> je dois mettre <imput type="hidden" name="monTexte">

L'astuce est que peut importe la façon, les deux se récupère ainsi $monTexte!

Tu peux donc mettre sur tous les formulaire :

<input type="hidden" name="monTexte" value="<? echo($monTexte) ?>">

3. Exemple simple avec un formulaire sur Musiciens.html qui contient le champ monTexte1 alors que la page Musiciens_2.html contient le champ monTexte2.

// Musiciens.html
<input type="text" name="monTexte1" value="<? echo($monTexte1) ?>">
<input type="hidden" name="monTexte2" value="<? echo($monTexte2) ?>">

// Musiciens_2.html
<input type="hidden" name="monTexte1" value="<? echo($monTexte1) ?>">
<input type="text" name="monTexte2" value="<? echo($monTexte2) ?>">

Tu peux donc passer d'une page à l'autre sans jamais perder une valeur.

C'est comme ça pour chacune des pages et chacun des champ.

4. Champ select, radio, checkbox.
Quand tu as plusieurs élément c'est aussi le même procédé.

ex:

<select name="maSelection"...
<option...

Sur la seconde page

<input type="hidden" name="maSelection" value="<? echo($maSelection) ?>">

MAIS pour récupérer le choix sélectionné dans la sélection tu dois générer quelque chose comme :

maSelection

<select name="maSelection"...
<option value"1"
<? if ($maSelection=='1') echo('selected') ?>>Choix 1</option>
<option value"2"
<? if ($maSelection=='2') echo('selected') ?>>Choix 1</option>
...

Même chose pour les "radio buttons" ou "checkboxs".

Ciao
Oznog


Réponses

 sp spRe: Formulaire sur plusieurs pages HTML mackougan11/10/2005
 sp spRe: Formulaire sur plusieurs pages HTML lussah17/1/2005
 sp spRe: Formulaire sur plusieurs pages HTML nicordi17/4/2004
 sp spRe: Formulaire sur plusieurs pages HTML Oznog17/4/2004
 sp spRe: Formulaire sur plusieurs pages HTML nicordi17/4/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@