Récupération de donnée d'un formulaire.

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 : Récupération de donnée d'un formulaire.

par cirultra » 17 juil. 2006, 23:49

RE

Merci pour l'info et le lien.

A +

Cireultra

PS: Quand le formulaire sera fini et en ligne je vous donnerai le lien pour le tester.

par Cyrano » 17 juil. 2006, 23:41

L'un n'empèche pas l'autre, une validation JavaScript présentant en outre l'avantage d'être plus rapide puisqu'exécutée coté client : si elle est bien faite, les données envoyées coté serveur arrivent déjà validées et le script PHP passe rapidement à la suite du traitement.

Pour info, il y a un tuto dans la FAQ sur la validation de formulaires complexes, jetes-y donc un coup d'oeil, tu y trouveras des informations sur la manière de récupérer des données en PHP.

Conseil : mets au point ta validation PHP avant la validation JavaScript, sinon, tu ne pourras pas tester ta validation PHP.

par cirultra » 17 juil. 2006, 21:40

RE Merci

J'ai testé en php ta méthode ==> résultat moyen car mise en place délicate dans mon code. :?

Par contre la même chose en javascript (substring) fonctionne très bien, plus facile à mètre en place. :P

Je ne désespère pas de le faire fonctionner en PHP. :!:

A+

Cireultra

par cirultra » 17 juil. 2006, 12:59

Merci,

Je vais testé ta solution.

A +

Cireultra

par Ryle » 17 juil. 2006, 10:51

Ben tout dépend de ce que tu veux faire.. si tu gardes l'option "tout dans le value" il te suffit d'un truc du genre :
<option value="5.00|<?php echo $bouteille[1]; ?>"><?php echo $bouteille[1]; ?></option> 
Et quand tu récupère la valeur, il te suffit de faire un explode() sur le pipe "|" pour savoir que le premier élément sera la valeur et le second le libellé... :)

par cirultra » 17 juil. 2006, 00:06

Merci pour ta réponse,

Si tu avais un petit exemple pour éclairer ma lanterne ce serais super.

A +

Cireultra

par Ryle » 16 juil. 2006, 19:47

Lorsque tu valides le formulaire, seul la valeur de l'attribut value de l'élément selectionné dans la liste est envoyé. Par défaut, si l'attribut n'est pas défini, par défaut, il utilise le libellé associé, d'où ton précédent comportement :)

Selon ce que tu veux faire, tu pourrais par exemple mettre toutes les informations dont tu as besoin dans le value (puisqu'il n'est pas visible pas l'utilisateur) et traiter la chaine récupérée ensuite..
Par contre si tu as besoin des valeurs de chaque ligne même si celles-ci ne sont pas selectionnées, il vaut mieux passer par des champs cachés..

Récupération de donnée d'un formulaire.

par Cireultra » 16 juil. 2006, 18:10

Bonjour,

Voici mon problème.
J’ai créé un formulaire (bon de commande) dans lequel il y a plusieurs listes.
Je récupère les données du formulaire une fois rempli par Email (php).
Dans mes listes il n’y avait pas de ‘value=x’ au départ, donc dans l’email il y avait bien la valeur de <?php echo $bouteille[]; ?> qui est une description du produit.
Maintenant que j’ai rajouté ‘value=x’ (prix) il me renvoi la valeur de ‘value’ (dans l’email) et pas celle du code php.
J’ai besoin de la valeur de ‘value’ pour chaque lignes car au moment du choix dans la liste j’affecte la valeur de ‘value’ dans un autre champ du formulaire pour mes calculs de prix.
Comment faire pour récupérer les deux valeurs ou une au choix.


Bout de code :

<select name="libelle1" class="Style3" onChange="affect_px(this)">
<option selected="selected"></option>
<option><?php echo $titre[0]; ?></option>
<option></option>
<option>----- Nouvelle Tendance (Bouteilles de 750 ml) -----</option>
<option value=5.00><?php echo $bouteille[1]; ?></option>
<option value=8.50><?php echo $bouteille[2]; ?></option>
<option value=12.30><?php echo $bouteille[3]; ?></option>
Etc …..


J’espère être clair dans mon explication.

Merci

Cireultra