IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

Afficher 4 formulaires sur une page et valider l'ensemble des réponses par un seul bouton [1.x]


Sujet :

PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut Afficher 4 formulaires sur une page et valider l'ensemble des réponses par un seul bouton
    Bonjour,

    Je dois permettre aux visiteurs du site de faire des dons en ligne, par CB, chèque, ou paypal, et ce, soit de manière ponctuelle, soit avec un prélèvement mensuel.

    Du coup, j'ai créé 4 tables:
    - donateur (pour les coordonnées afin d'envoyer le reçu fiscal)
    - don (le montant, la fréquence du don, l'identifiant du donateur, l'identifiant du type de règlement et la date)
    - fréquenceDon (mensuel ou pontuel)
    - typeReglement (cheque, paypal ou CB directement sur le site)

    Comme d'habitude, je mets à jour mes fichiers yml, je fais un build --all

    Ensuite, je me dis qu'il faut que je mette en place les formulaires, sur une page.

    Premier problème: symfony gère les formulaires par entité. Bon, je suppose que si j'utilise des components, je devrais pouvoir mettre les 4 formulaires sur la même page.

    Second problème, de taille: symfony gère les formulaires par entité au moment de la soumission. Aïe, comment vais-je faire? Je ne peux pas mettre un bouton "envoyer" sous le formulaire des coordonnées, un sous celui du don, un sous celui de la fréquence et un sous celui du choix du mode de paiement.

    Par quel moyen est-ce que je peux afficher les 4 formulaires (coordonnées du donateur, montant du don avec des bouton radio ou un champ de montant libre, informations de la carte bancaire, et 3 boutons de validation pour le paiement par CB, ou le paiement par paypal, ou le paiement par chèque)

    Je ne vois pas du tout comment gérer ça.

    Que conseilleriez-vous?

    Merci par avance,
    John

  2. #2
    Membre habitué Avatar de Maerlyn31
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 71
    Points : 167
    Points
    167
    Par défaut
    Bonjour,

    Il y a plusieurs solutions pour ce genre de problème :

    1) Ou bien utiliser le système des "embedForm" => Symfony permet d'inclure un formulaire dans un autre. Tu trouvera en tapant simplement embedForm et Symfony dans Google de nombreux articles traitant de ce sujet.
    Une chose à savoir cependant : le système des embedForm est "relativement limité" et souvent difficile à mettre en place. Ce qui nous amène à une deuxième solution :

    2) N'utiliser qu'une partie du composant formulaire de Symfony : dans un formulaire Symfony il y a :
    - des widgets
    - des validateurs
    - des méthodes bind(), isValid() et save() pour respectivement récupérer, valider et enregistrer tes valeurs.

    Tu peux choisir de surcharger l'une ou l'autre de ces méthodes, ou bien de n'utiliser que celles qui te sont vraiment utile. Beaucoup d'infos sont sur http://www.symfony-project.org/forms...orm-Validation

    Bon courage et bon dev' !

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je suis d'accord avec Maerlyn31 pour les moyens techniques.

    Mais je te conseillerais, au préalable, de faire un peu d’analyse fonctionnel sur ton site, notamment des schémas de séquences sur le déroulement des payement, tu verras qu'ils ne sont pas compatible entre eux.

    Sans compter que valider un formulaire d'inscriptions en même temps qu'un payement par carte bleu (ou autre) c'est un peu vouloir faire de la cuisine en tondant la pelouse.

    Découpe tes processe utilisateur, pour leur confort. Fait une création de compte, avec validation de l'email, probablement par un système externe, pourquoi pas avec sfGuard et sfFADP ? Puis, une fois ton user connecté, il peut choisir les informations du don. Puis le moyen de payement et tu te lance, alors, dans le processus de validation du payement, qui, de l'un à l'autre sera fondamentalement différent.

    Regarde aussi du côté des banques, de certains hébergeurs, de prestataires de services, qui te permettent d'externaliser le processus de payement, d'une manière sécurisée et standardisée pour les différents moyens de payement tel que crédit, CB, paypal, American et autres.

    Si monter un tel site était aussi simple que d'afficher 4 form et d'encaisser de l'argent, cela se saurais.

    Bonne chance.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    Si monter un tel site était aussi simple que d'afficher 4 form et d'encaisser de l'argent, cela se saurais.
    Chouette, je vais le dire à la FAF, car c'est pourtant ce qu'ils ont fait.

    Ce que je veux faire est donc l'exemple de ce que fait la Fédération Française des aveugles de France.

    Sur une seule page, ils ont trois colonnes:
    - mon don: deux cadres (une fois ou chaque mois) avec la possibilité de cocher un montant ou d'en indiquer un libre
    - mes coordonnées
    - les champs pour la CB.

    Ils ont ensuite deux boutons de validation: paiement par CB et paiement par chèque.

    Si on remplit les infos de la CB et que l'on clique sur cette case, leur base de données doit sûrement se remplir avec les infos du donateur, le type de paiement choisi, le montant, la fréquence de donation.

    Si jamais on clique sur "paiement par chèque", alors un pdf est généré avec les infos remplies.

    il y a donc un seul bouton de validation mais plusieurs formulaires. Je veux simplement rajouter la possibilité de payer par paypal.

    Regarde aussi du côté des banques, de certains hébergeurs, de prestataires de services, qui te permettent d'externaliser le processus de payement, d'une manière sécurisée et standardisée pour les différents moyens de payement tel que crédit, CB, paypal, American et autres.
    Ce serait mieux que d'utiliser sfAtosPaymentPlugin et prestaPaypalPlugin?

    Bon, je vais effectivement tenter de séparer les différentes parties pour le début, ce qui sera plus simple.

    John

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je ne connais que partiellement sfAtosPaymentPlugin et pas l'autre. Le premier est bien, Atos est un des prestataires possibles.

    Le site de la FAF ressemble plutôt à ce que j'imaginais pour la partie don, il y a peut-être plusieurs accès.

    Je reste convaincu que de procéder en plusieurs étapes est plus simple et plus sécurisé pour ton site et pour les donateurs.

    Il reste que tu peux faire un formulaire général et un gros traitement lors de la réception.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    j'ai résolu mon problème en séparant les formulaires sur des pages différentes et en passant des valeurs cachées pour la fréquence du don.

    Merci pour votre aide.

  7. #7
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 2 formulaires sur une page
    Par PunkMetal dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2008, 20h26
  2. Autocompletion d'un formulaire sur une page JSP
    Par topmas dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 14/05/2008, 18h38
  3. Réponses: 2
    Dernier message: 20/08/2007, 07h34
  4. imprimer formulaire sur une page
    Par the big ben 5 dans le forum Access
    Réponses: 1
    Dernier message: 16/08/2006, 19h33
  5. Afficher un calendrier sur une page php
    Par griese dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 12/06/2006, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo