Enregistrer chaque bouton radio dans un champ de l
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaie d'enregistrer chaque bouton radio dans un champ de la table SI celui-ci est activé.
Pouvez-vous me filer un coup de main svp ?
Voici ma page d'accueil :
et ma page de validation :
J'essaie d'enregistrer chaque bouton radio dans un champ de la table SI celui-ci est activé.
Par exemple :
Je coche la valeur "Option 1" et l'édit se fera uniquement dans le champ Vote_01
Je coche la valeur "Option 2" et l'édit se fera uniquement dans le champ Vote_02
Pouvez-vous me filer un coup de main svp ?
Voici ma page d'accueil :
<form action="validation.php" method="POST" name="Form" autocomplete="OFF" enctype="multipart/form-data"> <input type="hidden" name="NumId" value="<?php echo $dataFr['NumId']; ?>" /> <input type="hidden" name="action" value="send" /> <input type="radio" name="Option" id="Fr_Vote_1" value="1"> Option 1 <input type="radio" name="Option" id="Fr_Vote_2" value="1"> option 2 <button>Valider</button> </form>
et ma page de validation :
<?php $NumId = $_POST["NumId"]; $Fr_Vote_1 = isset($_POST["Fr_Vote_1"]) ? "1" : "0"; $Fr_Vote_2 = isset($_POST["Fr_Vote_2"]) ? "1" : "0"; $req_fr = $pdo->prepare("UPDATE tb_aa_poll SET Vote_01=Vote_01 + :Fr_Vote_1, Vote_02=Vote_02 + :Fr_Vote_1 WHERE NumId = $NumId "); $req_fr->bindParam(":Fr_Vote_1", $Fr_Vote_1); $req_fr->bindParam(":Fr_Vote_2", $Fr_Vote_2); $req_fr->execute(); ?>
A voir également:
- Enregistrer chaque bouton radio dans un champ de l
- Audacity enregistrer son pc - Guide
- Station de radio - Télécharger - Médias et Actualité
- Comment enregistrer un mail - Guide
- Comment enregistrer une conversation - Guide
- Diagnostic bouton photo - Accueil - Outils
2 réponses
Bonjour,
Ce code-là n'est pas cohérent :
En effet, les champs du formulaire sont transmis par leur "name" et pas par leur "id", et c'est le "value" du bouton sélectionné qui est transmis.
Comme tes deux boutons ont le même "value", dans tous les cas tu vas te retrouver avec $_POST['Option'] == 1, ce qui ne te permet pas de savoir quel bouton a été cliqué.
Pour différencier tes deux boutons, c'est le champ "value" qui doit varier, par exemple comme ceci :
Xavier
Ce code-là n'est pas cohérent :
<input type="radio" name="Option" id="Fr_Vote_1" value="1"> Option 1 <input type="radio" name="Option" id="Fr_Vote_2" value="1"> option 2
$Fr_Vote_1 = isset($_POST["Fr_Vote_1"]) ? "1" : "0"; $Fr_Vote_2 = isset($_POST["Fr_Vote_2"]) ? "1" : "0";
En effet, les champs du formulaire sont transmis par leur "name" et pas par leur "id", et c'est le "value" du bouton sélectionné qui est transmis.
Comme tes deux boutons ont le même "value", dans tous les cas tu vas te retrouver avec $_POST['Option'] == 1, ce qui ne te permet pas de savoir quel bouton a été cliqué.
Pour différencier tes deux boutons, c'est le champ "value" qui doit varier, par exemple comme ceci :
<input type="radio" name="Option" id="Fr_Vote_1" value="1"> Option 1 <input type="radio" name="Option" id="Fr_Vote_2" value="2"> option 2
$Fr_Vote_1 = isset($_POST['Option']) && $_POST['Option'] == 1 ? "1" : "0"; $Fr_Vote_2 = isset($_POST['Option']) && $_POST['Option'] == 2 ? "1" : "0";
Xavier
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, bien que tu ne l'écrives pas, je crois deviner que ton code ne fait pas exactement ce que tu souhaites qu'il fasse.
que souhaites-tu changer dans son comportement (que tu ne décris pas)?
que souhaites-tu changer dans son comportement (que tu ne décris pas)?
Heuuu... si tu le dis :D
Je souhaite que si
C'est un système de vote que j'essaie de mettre en place et c'est la seule option qui me manque.
Donc en récapitulatif, si je choisis
Vote_01 = Vote_01=Vote_01 + :Fr_Vote_1
Si je choisi
Vote_02 = Vote_02=Vote_02 + :Fr_Vote_2
Je souhaite que si
<input type="radio" name="Option" id="Fr_Vote_1" value="1">est cochée, 1 s'accumule à la valeur Vote_01 de la table sinon 1 s'accumule à la valeur Vote_02 de la table.
C'est un système de vote que j'essaie de mettre en place et c'est la seule option qui me manque.
$Fr_Vote_1 = isset($_POST["Fr_Vote_1"]) ? "1" : "0";n'est pas pris en compte, rien ne s'ajoute à ma table.
Donc en récapitulatif, si je choisis
<input type="radio" name="Option" id="Fr_Vote_1" value="1">:
Vote_01 = Vote_01=Vote_01 + :Fr_Vote_1
Si je choisi
<input type="radio" name="Option" id="Fr_Vote_2" value="1">:
Vote_02 = Vote_02=Vote_02 + :Fr_Vote_2
Merci à yg_be pour ton aide.