Formulaire : récupérer la valeur d'un autre champ ?

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 11:12

Bonjour,
j'aurais besoin de votre aide…

j'ai un formulaire php. Un des champs a un texte prédéfini dans lequel je devrais indiquer, en plus d'un texte fixe, la valeur d'un autre champ du formulaire que l'utilisateur saisira.

J'avais pensé naïvement écrire ça comme ça :

Code : Tout sélectionner

value = 'Pour tout autre format <a href="mailto:contact@mon_site.com?subject=Format '.$_POST['name'].'&body='.$_POST['name'].'">me consulter</a>';
Mais bien sûr ça ne fonctionne pas car au moment où la page de formulaire est constituée avec son champ prérempli, le formulaire n'est pas encore soumis !

Comment faire ça ?
Comment dire que la valeur d'un champ sera inséré dans un autre champ au moment de la validation du formulaire ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 avr. 2007, 11:24

Je ne saisi pas du tout ce que tu désires faire. Pourquoi faire un champ ayant la même valeur qu'un autre champ ?

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 13:51

Je ne saisi pas du tout ce que tu désires faire. Pourquoi faire un champ ayant la même valeur qu'un autre champ ?
En fait dans la page d'administration d'une boutique, sur le formulaire pour ajouter un article, j'ai un champ texte prérempli pour le descriptif. Il contient notamment un lien mail.

Ce lien mail sera affiché donc dans la fiche produit.

Le webmaster qui recevra la mail doit pouvoir savoir d'où est il envoyé.
Je pense insérer dans le sujet ou le body du mail le nom ou le code du produit à partir duquel on a envoyé le mail…
… mais je ne sais pas faire ça au moment de la saisie d'un nouvel article…

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 avr. 2007, 14:07

Hou dur dur de comprendre lol je n'arrive toujours pas à visualiser tes pages...

Mais pourquoi inclure un mail dans ton champ pré-remplie ? Il n'est pas mieux d'afficher ce mail indépendamment de ce champ dans la fiche produit ? Et rajouter la variable qui va identifier le produit en question ?

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 14:41

Oui j'imagien que c'est bien casse-tête ! :)
Mais pourquoi inclure un mail dans ton champ pré-remplie ? Il n'est pas mieux d'afficher ce mail indépendamment de ce champ dans la fiche produit ? Et rajouter la variable qui va identifier le produit en question ?
Là je n'ai pas le choix :
- je préremplis le formulaire pour faciliter le travail de saisie des 1000 produits au webmaster…
- il faut que le lien mail (le "mailto") soit dans la fiche produit que consulte le l'utilisateur final sur le site.
- il faudrait si possible que ce mail porte une référence du produit d'où il est envoyé…

Argh… j'espère que c'est possible au moins…
:?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 avr. 2007, 14:46

oui oui c'est tout à fait possible mais ta solution est bizarre. Je vois plutôt ça comme ceci :

Dans ta fiche produit, tu récupères bien toutes les informations du produit en question à partir de la table ? Tu peux donc récupérer son ID que tu mettras dans ton lien tout simplement.

Ca te fera quelque chose du genre :
<?php
echo '<a href="mailto:blabla?Subject=produit numéro '.$id.'">lien</a>';
?>

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 15:49

J'ai bien essayé aussi cette solution, mais non…
car $id n'a pas de valeur au moment du remplissage du formulaire…

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 avr. 2007, 16:10

C'est sur ce point que quelque chose ne va pas. Tu pars toujours au moment du remplissage du formulaire, mais pour afficher la fiche produit le formulaire est déjà rempli et les données en base.

C'est l'ID de l'enregistrement que tu dois récupérer. Je ne sais pas si tu vois ce que je veux dire.

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 17:02

C'est l'ID de l'enregistrement que tu dois récupérer. Je ne sais pas si tu vois ce que je veux dire.
Oui, oui exactement !

Mais je ne sais pas comment récupérer cette valeur au moment de l'enregistrement.
Je ne sais pas comment dire à un champ prérempli d'aller chercher cette info plus tard puisqu'au moment où le champ prérempli s'écrit $id ou $_POST['id'] n'existent pas…
Le code php est interprété tout de suite, au moment où le formulaire de création de produit (back-end) est généré.
J'aurais besoin qu'il le soit au moment ou la fiche produit est écrite