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

Langage PHP Discussion :

formulaire avec champs hidden dynamiques


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 739
    Par défaut formulaire avec champs hidden dynamiques
    Bonjour,

    Je suis confronté à un problème, voilà un petit formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form method="post" action="https://paiement/" >
    <p><input type="radio" name="carte" value="alias_1234"  />Carte 1234</p>
    <p><input type="radio" name="carte" value="alias_2345"  />Carte 2345</p>
     
    <p>input type="hidden" name="action_voulue" value="PAYMENT" /></p>
     
    <p><input type="submit" name="choix" value="Poursuivre le paiement par carte &gt;"</p>
    </form>
    Mon souci est que la valeur du champs hidden "action_voulue" dépend du choix de "carte".

    En PHP cela donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_POST['carte'] == 'alias_2345') $_POST['action_voulue'] = 'PAYMENT_SPECIAL';
    Il me semble que des javascripts dans le formulaire manqueraient de sécurité.

    je ne vois pas comment faire sans javascript.

    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    JavaScript n'offre effectivement aucune sécurité.
    Mais que tu utilises JavaScript ou non, les formulaires ne proposent de toute manière aucune sécurité, car n'importe qui peut altérer la valeur de n'importe quel champ à l'aise des outils des développement inclus dans les navigateurs.
    C'est pourquoi il faut toujours contrôler en PHP que ton formulaire ne contient pas d'incohérence. Si c'est fait correctement, il n'y a aucun soucis à utiliser JavaScript. N'oublies pas cependant que certains utilisateurs peuvent naviguer sans avoir JavaScript activé, il faut donc s'assurer qu'il y ait une solution de fallback dans ce cas.

    En l'état, je ne comprends par contre pas le but de la manoeuvre. Si ton champ radio ne sert qu'à entrer une valeur dans le champ hidden, pourquoi ne récupères-tu pas tout simplement la valeur du champ radio ? À moins que tu n'utilises une API de payement qui exige précisément ces champs ?

    Si ce n'est pas le cas et que tu es en train de coder un système de paiement pour autre chose que pour un devoir, je te déconseille TRÈS FORTEMENT de le faire toi-même à moins d'être un expert en sécurité et de passer par un système tiers comme Paypal.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 739
    Par défaut
    Bonjour,

    Merci de ton suivi.

    Le formulaire que je donne est juste un exemple simple, l'idée est que je dois avoir des champs hidden dynamiques.

    Ou plusieurs champs hidden du même nom mais avec des valeurs différentes et la possibilité d'associer un hidden à chaque radio et avec un seul bouton submit.

    C'est pour un cas réel, ne t'inquiète pas pour la sécurité, le système que j'emploie est bien sécurisé.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Dans ce cas, comme je t'ai dit, pas de problèmes à utiliser JavaScript tant que tu t'assures bien qu'il n'y a pas d'incohérences dans le formulaire lorsque tu le traites en PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 739
    Par défaut
    Le problème de javascript est que cela peut être désactivé.
    Je ne sais pas si c'est répandu mais j'ai l'habitude de réserver javascript à des fonctions assez secondaires, en gros d'esthétique ou d'ergonomie.

    Sans javascript je vois deux possibilités.

    Soit simplement générer un nouveau formulaire 100 % hidden.
    Le client n'a plus qu'à cliquer sur un bouton genre "Ok pour payer 12 euros".
    Mais cela fait un clic de plus pour le client.

    Soit envoyer les données $_POST vers un script PHP qui les analyse et les renvoie vers le serveur de paiement.
    Mais je ne vois pas comment le faire avec PHP.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ou pointe l'action de ton formulaire, sur ton serveur ou un service tiers ?
    Si c'est un service tiers, il faudra que tu envoies une requête curl avec les paramètres nécessaires, ce qui sera plus compliqué.
    Si c'est toi qui traite le formulaire, je ne vois pas trop le problème

Discussions similaires

  1. Formulaire avec champ SELECT modifié dynamiquement.
    Par zebulon36 dans le forum jQuery
    Réponses: 3
    Dernier message: 27/12/2012, 18h33
  2. Formulaire avec champ dynamique javascript/ajax
    Par Louka-65 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/07/2009, 16h34
  3. Formulaire avec un tableau dynamique
    Par Laspi dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/11/2006, 15h03
  4. formulaire avec champ calcules sur access
    Par tobisko dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2006, 13h52
  5. [ODBC] Valider formulaire avec champs vides
    Par dorot dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 12/07/2006, 17h15

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