We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 15628
    • 5 Posts
    Bonjour,

    Je viens vers vous car, du haut de ma modeste connaissance de PHP, je m’arrache les cheveux sur un problème depuis quelques jours.


    Je cherche à faire un formulaire qui possède en fait plusieurs étapes.
    1- Remplissage d’un formulaire
    2- Retranscription des informations à l’écran (jusque là ca va).

    Ensuite, il me faut un bouton pour revenir au formulaire au cas où des informations sont incorrectes. Naturellement, l’objectif est que le formulaire soit pré-rempli.
    Toujours sur cette page de résumé des informations saisies, il me faut un bouton qui peut mener vers 3 pages différentes (et donc qu’il faut construire avec un snippet). C’est en fait une redirection selon le mode de paiement choisi (soit vers la banque, soit vers une page avec les coordonnées bancaires, soit vers une page avec les coordonnées). Là aussi, il me faut donner quelques informations du formulaire.


    Je ne pense pas me tromper en disant que je peux utiliser des "input hidden" pour donner ces informations. Le problème c’est que je n’arrive pas à les récupérer, la session semble différente. J’essaie d’utiliser eForm pour construire ces deux formulaires (alors composé d’un bouton et de champs cachés).


    Ce que j’ai essayé :
    - Une simple redirection vers la page précédente.
    - Utilisation eForm avec id différente, mais la session est différente je suppose puisque je ne récupère aucune donnée.
    - Utilisation eForm avec la même id. Outre le fait que je ne peux utiliser cette méthode que pour un seul des formulaires, je récupère bien les informations mais j’ai le droit au message "Ce formulaire a déjà été transmis" assez fréquemment. Si je le désactive, je reste sur ma page qui résume les informations et ne revient pas au formulaire de saisies.


    J’espère avoir été clair sur mon soucis et ce que je veux faire. Je suppose que mon problème n’est pas trivial et qu’il faudra peut-être coder un module ou un snippet supplémentaire. Mon processus est peut-être aussi mal réfléchi. J’espère que quelqu’un pourra m’aiguiller sur une solution.

    Merci d’avance pour votre aide,


    Kenjin.
      • 11975
      • 2,542 Posts
      Salut,

      il y a un exemple dans la partie anglophone du forum d’un formulaire multipage posté par tobyl.
      Si j’ai un peu de temps, je tacherai de poster le lien ici.

      :-)

      Edit: http://modxcms.com/forums/index.php/topic,8572.0.html


        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 15628
        • 5 Posts
        Salut,

        Il me semble que j’étais tombé dessus bien avant d’avoir mon problème en pur hasard. Je vais voir ce que je peux faire avec. Cela n’a pas l’air de correspondre précisément à mon besoin mais j’espère pouvoir l’adapter pour. A première vu, je devrais pouvoir trouver une solution en tout cas. Je m’occupe de ça dès que je peux et je vous tiens au courant.

        Je reste ouvert à d’autres suggestions en tout cas smiley.

        Merci.
          • 15628
          • 5 Posts
          Navré de répondre aussi tard. J’ai eu pas mal de travail entre temps. Je me suis un peu inspiré du lien donné.

          La grande différence que j’ai apporté, c’est de ne stocker que la référence et les différentes variables calculées lors de la validation de la commande dans la SESSION. Pour le reste je récupère les informations à partir de la base de données. Cela m’a permis au passage de bien remplir les boutons radio et les listes avec les attributs checked et selected. Naturellement, cela signifie que je stocke des informations qui peuvent être incorrectes ou incomplètes. Cependant, le formulaire étant appelé rarement, je ne risque pas d’utilisation trop importante de la base due au formulaire et il est toujours intéressant de voir les commandes qui ont été annulées.

          Pour le formulaire de paiement, j’ai fait appel à un snippet pour générer le formulaire qui convient sans passer par eForm. Cela m’oblige à créer des pages dans l’arborescence de ModX (en fait il m’en faut 3) mais devant de toute façon passer par un site extérieur pour le paiement par carte, je n’avais pas forcément le choix.

          Ma solution est sans doute pas la meilleure sur ce problème. En tout cas, elle satisfait le cahier des charges sans être vraiment difficile à maintenir. Bien sur, pour d’autres applications, faire appel à la base de données à chaque étape n’est surement pas la meilleure solution, et l’utilisation unique des variables de Session peut suffire.

          Merci pour votre aide.