Besoin d'aide sur un Formulaire de payement

Fermé
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022 - 16 juin 2021 à 01:25
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022 - 24 juin 2021 à 19:15
Bonjour, Je suis entrain de faire un formulaire pour valider des payements. Le truc est que la page affiche les éléments a payer et devant chaque élément se trouve une case à cocher si l'on veut payer. En fait l'utilisateur a le choix de choisir ce qu'il veut payer. Donc je voudrais pouvoir insérer un label Montant qui affiche immédiatement le montant à payer a chaque fois que l'utilisateur coche une case. J'ai besoin d'aide svp

4 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
16 juin 2021 à 07:33
Bonjour
Dans quel langage de programmation ?

0
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022
16 juin 2021 à 21:03
en html et php
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022
16 juin 2021 à 21:06
Alors, si tu veux que ça se fasse au moment de coucher la case, il faudra utiliser du JavaScript..
Et si la formation du prix et présente en base de données et que tu ne l'as pas encore à serrer dans ton formulaire il faudra aller rechercher ce prix en AJAX..
Ou alors que tu mettes le prix des produits border data attribute sur chaque case à cocher par exemple...
Pour l'instant, vu que tu ne nous as pas montré ce que tu avais commencé à coder il nous sera impossible de t'en dire plus.

Nb: pour poster ton code sur le forum, tu devras utiliser les balises de code.
Explications à lire entièrement disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

.
0
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
16 juin 2021 à 21:18
Je vois déjà. Je me doutais bien que du JavaScript serait impliqué. J'enverrai mon code d'ici peu. Merci pour votre aide
0
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022
18 juin 2021 à 10:29
Dsl pour ce retard mais j'ai eu quelques contre temps. Voila un peu le code. J'espère bien que vous vous retrouverez
<!DOCTYPE HTML>
<html> 
<head>
	<title> Payement </title>
	<meta charset="utf-8">
	<link rel="stylesheet" type="text/css" href="validation.css">
</head>
   <body> 
     <?php
            $Num = $_GET['Numero'];

            $serveur = "localhost";
            $login = "root";
            $pass ="";
          try{
                  $connexion = new PDO("mysql:host=$serveur;dbname=etat de deliberation",$login, $pass);
                  $connexion ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

          $jointure = "
          SELECT  ecu.LibECU
          FROM etudiant
          INNER JOIN moyenneue
          ON etudiant.NumMat = moyenneue.NumMat
          INNER JOIN ue
          ON moyenneue.CdeUE = ue.CdeUE
          INNER JOIN ecu
          ON ue.CdeUE = ecu.CdeUE
          INNER JOIN moyenneecu
          ON ecu.CdeECU = moyenneecu.CdeECU
          WHERE etudiant.NumMat= $Num
          AND MoyUE < 10
          AND MoyECU < 10 
          GROUP BY ecu.CdeECU";
        
          $req=$connexion-> prepare($jointure);
          $req-> execute();
          $resultat=$req->fetchall();

          }

                   catch(PDOException $e){
        echo 'Echec de la connexion:' .$e->getMessage();
      }
    
    ?>

   		<form method="post" action="traitement.php">
   			<h1>Liste des matières à reprendre</h1>
   			<div class="div-t">
   			<label id="NumMat" >N° matricule </label>
   			<input type="text" id="NumMat" name="NumMat" value="<?php echo $Num ?>">

   			<label id="Nom" >Nom </label>
   			<textarea id="nom" name="Nom" value="<?php 
           $requete=$connexion->prepare( "SELECT NomEtu, PrenEtu
            FROM etudiant
            WHERE NumMat= $Num");
            $requete-> execute();
            $result=$requete->fetchall();
              echo "$result"

        ?>"> </textarea> 

      </div>

       <fieldset>
    <table>
      <thead>
        <tr>
          <td>Nom ECU </td>
          <td> Reprendre </td> 
        </tr>
      </thead>
      <tbody>
        <?php
          foreach ($resultat as $donnees)
        {
        ?>
        <tr>
          <td> <?php echo $donnees['LibECU']; ?> </td>
          <td> <input type= "checkbox" name="case" />
        </tr>
        <?php
        }
        ?>
      </tbody>
    </fieldset>
      <div>
      <label for="Mont">Montant: <input type="number" id="Mont" name="Mont" value=""> </label>
      </div>
   </body>
</html>


J'ai toujours pas pu faire ce que je voulais
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
18 juin 2021 à 11:07
En même temps.. je ne vois toujours pas de javascript dans ton code ....

et puis; il serait bien de mettre le prix dans l'attribut VALUE de tes checkbox si tu veux ensuite pouvoir t'en servir ...
0
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022
18 juin 2021 à 11:13
En fait je m'y connais pas du tout en Js. Raison de ma demande d'aide ici.

Etant donné que le checkbox est dans un foreach ça marchera ? Et le prix est unique pour n'importe quel élément. A chaque élément coché l'attribut value du label Montant change en fonction de ce prix
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
18 juin 2021 à 11:55

Etant donné que le checkbox est dans un foreach ça marchera

Oui

Et le prix est unique pour n'importe quel élément. A chaque élément coché l'attribut value du label Montant change en fonction de ce prix

Un label n'a pas d'attribut VALUE.
Mais les checkbox en ont un ... qu'il faut mettre .. ET renseigner !

En fait je m'y connais pas du tout en Js. Raison de ma demande d'aide ici

Oui.. ok .. on veut bien t'aider.... mais pas le faire à ta place.
Donc, si tu n'as aucune connaissance en JS... ben...il faut commencer par apprendre...

Pour détecter le click
https://developer.mozilla.org/fr/docs/Web/API/Element/click_event

Puis :
https://www.google.com/search?q=javascript+get+value+of+checked+checkbox

https://developer.mozilla.org/fr/docs/Web/API/Document/getElementsByClassName
0
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
24 juin 2021 à 19:15
Bonsoir, suis de retour. J'espère que vous vous portez bien. J'ai suivie les cours et j'ai pu réussir à écrire un petit truc mais ce n'es pas encore parfait. J'aurais besoin de quelques conseils si possibles.
  <script type="text/javascript">
      var p = document.getElementsByClassName('check');
       p.addEventListener('click', changermontant);
      function changermontant(){
      var p1= document.getElementsByClassName('check').value;
     document.getElementById('Mont').value = document.getElementById('Mont').value + p1;
     }
    </script>


A ce niveau j'ai deux problèmes. En premier la valeur de mon checkbox est considéré comme un string car les valeurs s'ajoutent l'un à la suite de l'autre au lieu de s'additionner.
Mon second problème est au niveau du click. Lorsque je déclique un checkbox le programme le considère comme un click et la fonction est exécuté. Donc en clair je ne peux pas cliquer puis changer d'avis et cliquer à nouveau pour décocher la case
0
Oxley12 Messages postés 9 Date d'inscription mercredi 16 juin 2021 Statut Membre Dernière intervention 3 janvier 2022
18 juin 2021 à 12:04
Un label n'a pas d'attribut VALUE.
Mais les checkbox en ont un ... qu'il faut mettre .. ET renseigner !

Au faite voulais parler du input type associé au label.

Oui.. ok .. on veut bien t'aider.... mais pas le faire à ta place.
Donc, si tu n'as aucune connaissance en JS... ben...il faut commencer par apprendre...

Oui je comprends . Et j'ai déjà commencer à suivre des vidéos de cours sur le JS. C'est juste le temps qui me fait défaut.

Merci beaucoup pour votre aide.
0