|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Bonjour,
Je viens encore vous demander de l'aide et merci d'avance pour votre patience. J'ai un formulaire avec une adresse de facturation dont les données s'affichent parce qu'elles ont été rentrées sur un autre formulaire précédent dans la session. Mon problème est que cette adresse de facturation peut être modifiée dans mon présent formulaire pour remplir la table adresse facturation. Je ne sais pas comment gérer mes variables pour qu'à la fois elles s'affichent sur mon formulaire facturation et que je puisse les modifier si adresse facturation différente. Voici mon formulaire : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Bonjour, je ne comprend pas bien ou est ton problème.
Si tu récupère l'adresse de facturation sur un précédent formulaire et que sur le nouveau formulaire elles apparaissent de nouveau c'est que tu les as passé de l'un à l'autre. Il te suffit au submit du nouveau formulaire de venir mettre à jour l'adresse de facturation celle du nouveau formulaire non ? |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Bonjour humitake,
En fait, c'est que sur ce formulaire là, il est possible de modifier l'adresse de facturation si elle diffère de l'adresse tout court saisie dans le premier formulaire. En fait, je souhaite afficher l'adresse commerciale par défaut mais permettre de modifier et envoyer les données dans une table adresse facturation si celle-ci diffère de l'adresse commerciale affichée par défaut. Je ne sais pas trop comment tourner le problème pour avoir à la fois les infos par défaut et la possibilité de les muer en adresse facturation (en rajoutant un f pour les différencier des première) les données du formulaire facturation si elles sont différentes. Merci si tu as un petit conseil et si tu arrives à me comprendre |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Je pense avoir compris.
L'utilisateur saisie en fait son adresse mais tu souhaite pouvoir lui permettre de saisir une adresse de facturation différente de son adresse standard. Petit exemple : Si je veux acheter un truc en ligne sur la Fnac j'ai la possibilité de choisir une adresse de facturation différente de l'adresse de livraison. Si c'est bien cela que tu souhaite faire tu n'as cas créer un nouveau champs "adresse de facturation" et copier par défaut l'adresse commercial. Ainsi si le client souhaite une adresse différente il n'a cas modifier les champs. Sinon il laisse tel quel. |
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Merci pour ton aide. C'est exactement ça mais concrètement comment est-ce que je le mets dans mon champ puisque j'appelle ma variable stockée en session ?
Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Quelque chose comme ça peut-être mais est-ce que c'est la manière la plus pertinente ? J'ai rajouté un "f" sur les champs qui iront dans la table facturation si elle diffère de l'adresse commerciale.
Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Je suis de nouveau largué
Tu souhaite, si j'ai bien compris, modifier la base de données si le champs adresse de livraison diffère avec l'adresse de facturation ? Je ne vois la aucun problème bloquant Dans le premier formulaire l'utilisateur rempli l'adresse de livraison, le second formulaire (celui ou tu as un problème) concerne l'adresse de facturation. Par défaut tu remplie tous les champs avec ce qui a été rempli précédemment. Ensuite peut importe ce qu'il se passe, que l'utilisateur modifie ou non les champs il te suffit de mettre à jour la base de données avec la "nouvelle" adresse de facturation. |
|
|
00
|
|
|
#8 | ||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Je suis désolée, je galère pas mal...
Je ne sais pas comment récupérer ma variable [formf][labsf] qui servira à remplir la table facturation si le champ est modifié tout en affichant la variable $_SESSION['forma']['labs'] qui vient de l'adresse commerciale. Code :
Merci
|
||
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Fiuuuu tu m'as éjecté du TGV en route la !
J'essaye de comprendre ton raisonnement corrige moi si je me trompe : Lorsque l'utilisateur remplie son adresse commercial et soumet le formulaire tu stock l'adresse dans la variable $_SESSION['forma']['labs']. Dans le formulaire pour la modification de l'adresse de facturation tu lui inscrit par défaut la valeur de l'adresse commercial $_SESSION['forma']['labs']. Maintenant ce que tu souhaite faire c'est placer la valeur de l'adresse de facturation dans la variable $_SESSION['formf']['labsf'] si, et seulement si, elle a été modifier. Alors pourquoi seulement si elle a été modifié ? Pourquoi ne pas placer l'adresse de facturation dans la variable $_SESSION['formf']['labsf'] quoi qu'il arrive ? Du coup, lorsque le client soumet le formulaire de facturation tu enregistre toutes les valeur dans ton tableau $_SESSION['formf'] même si ce sont les même que le tableau $_SESSION['forma']. Ensuite tu met à jour ta table facturation avec les données de $_SESSION['formf'] dans tout les cas comme ça tu n'as plus de problème pour savoir si les données ont été modifié ou non. N'hésite pas à me dire si je suis à coté de la plaque
|
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
C'est bien ça que je veux faire mais comment est-ce que je peux enregistrer ma variable $_SESSION['forma']['labs'] en variable ['formf']['labsf'] au niveau de la syntaxe.
|
|
|
00
|
|
|
#11 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Il te suffit de rajouter $_SESSION['formf'] = $_SESSION['forma'] au début de ta page de façon à ce que ce soit prix en compte au moment de la validation de ton formulaire
|
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
J'ai compris et je vais pouvoir me débrouiller avec tout ça.
Merci beaucoup humitake pour ton aide et ta patience, Bon week-end ! |
|
|
00
|
|
|
#13 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
De rien, ce fût un plaisir
![]() Merci et bon week-end à toi aussi |
|
|
00
|
|
|
#14 | ||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Bonjour,
Est-ce que mon code est correct au final ? Je garde les valeurs du forma et si je mets de nouvelles valeurs, ils ne me les conserve pas... ![]() Merci et désolée d'être encore bloquée là... Je mets mon code final : Code :
|
||
|
|
00
|
|
|
#15 | ||||
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Bonjour,
C'est normal qu'il ne prenne pas en compte tes validations car tu ne lui demande pas. Je suis désolé c'est de ma faute je pensais que le reste des modifications coulaient de source ![]() Tu dois rajouter la modification du formulaire formf avec les nouvelles valeurs : Code php :
Tu dois ensuite modifier ton formulaire pour qu'il utilise les données de formf et non de forma : Code php :
|
||||
|
|
00
|
|
|
#16 | ||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Merci humitake,
Non pour moi ça ne coule pas de source mais ça viendra j'espère, c'est pas évident tout seul... Par exemple, pour l'adresse, est-ce que je dois laisser "adress" ou mettre "adressf", je suis perdue là.. je viens de tester mais maintenant les données rentrées dans formf ont écrasé celles de forma dans le premier formulaire... Code :
|
||
|
|
00
|
|
|
#17 | ||||||||||
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Tu dois mettre "adress" et non "adressf" :
Code php :
Tu risque d'avoir des modifications à faire puisque j'ai supprimer l'utilisation de tes variables se terminant par un "f" comme "adressf". Voici comment devrait fonctionner ton script, je pense que cela t'aidera à comprendre : Code php :
Code php :
$_SESSION['formf'] = $_SESSION['forma']; Ce qui signifie que $_SESSION['forma']['tel] et $_SESSION['formf']['tel'] affiche désormais la même chose. Ceci dans le but de remplire le formulaire avec les informations de "base" du client, il a ainsi par défaut la même adresse de livraison et de facturation. On récupère ensuite les valeurs du formulaire de facturation au cas où elles auraient été modifié : Code php :
Je saute ensuite la partie de ton code ou tu réalise plusieurs test et enregistre des messages d'erreur pour passer directement au formulaire. Code php :
Il reste par contre le cas de ces données : Code php :
Soit tu souhaite que ce soit les mêmes et dans ce cas la je te conseille de désactiver la saisie pour ces champs. Ainsi tu n'as plus qu'a enregistrer dans ta base de données les informations contenu dans $_SESSION['formf'] en tant qu'adresse de facturation. Mais attentions je répète, étant données que les variables se terminant par "f" ne sont plus utiliser je pense que tu aura des modification à effectuer sur d'autre script / fichier (surtout l'ajout de l'adresse de facturation dans la base de données). |
||||||||||
|
|
00
|
|
|
#18 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 58 ![]() |
Merci beaucoup pour ton aide et ta patience.
Ca marche très bien maintenant, je suis moins perdue. Merci beaucoup pour le temps que tu m'as consacré ! Bonne fin de soirée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com