PHP et checkbox

Résolu/Fermé
Signaler
-
 PoloSwag -
Bonjour,

J'essaye de créer un site avec des cases à cocher sur l'une des pages. Je souhaiterais, si cela est possible, regarder si quatre cases sont cochées et, si c'est le cas, envoyer ces données à ma base de données avec une commande php.

Quelqu'un pourrait-il m'aider s'il vous plaît?

Voilà mon code :

<?php
  $form_valid = true;
  if($_SERVER['REQUEST_METHOD'] == 'POST') {
    if(isset($_POST['nom']) && ($_POST['firstname']) && ($_POST['birthday']) && ($_POST['email']) && ($_POST['engagement']) && ($_POST['duree'])) {
      if(!empty($_POST['nom']) && ($_POST['firstname']) && ($_POST['birthday']) && ($_POST['email']) && ($_POST['engagement']) && ($_POST['duree'])) {
        if ($_POST['checkbox'] == ) {
          # code...
        }
        $bdd = new PDO('mysql:host=xxxxx;dbname=yyyyyyl;charset=utf8', 'yyyyyy', 'zzzzz');

        $req = $bdd->prepare('INSERT INTO `posticpaul`.`jeunes` (`firstname`, `lastname`, `birthday`, `mail`, `type`, `duration`, `qualities`) VALUES (:firstname, :lastname, :birthday, :mail, :type, :duration, :qualities)');
        $req->execute(array(
         'firstname' => $_POST['firstname'],
         'lastname' => $_POST['nom'],
          'birthday' => $_POST['birthday'],
         'mail' => $_POST['email'],
         'type' => $_POST['engagement'],
         'duration' => $_POST['duree'],
         'qualities' => "",//Ajout des qualités
         ));
      } else {
        $form_valid = false;
      }
    } else {
      $form_valid = false;
    }
  }
?>


et

    
      <form class="formulaire" method="POST" action="">
         <div class="coche">
          <p class="i_am">
            Je suis...
          </p>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Autonome <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Créatif <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Honnête <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Passionné <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Réfléchi <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Fiable <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Patient <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Sociable <br>
          <input type="checkbox" class="valid" name="checkbox" onclick="verif(this)"> Optimiste <br>
          <em id="nouveau"></em>
          <input type="text" id="rajout" name="rajout" value="Ajouter une qualité" onclick="rajout.value=''">
          <button type="button" name="rajout1" onclick="ajout()">✓</button><br>
          <p class="quatre_choix">
            Faire quatre choix au maximum
          </p>
          <button type="submit" class="valider_jeune">Valider vos réponses</button>
        </div>
      </form>

Merci d'avance



Ligne 11 code php xxxxxx, yyyyyy, zzzzz  = adresse, identifiant et mot de passe  supprimés Modération CCM

1 réponse

Messages postés
34203
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2021
3 852
Bonjour,

Déjà.. commence par nommer tes checkbox en "tableau" (en utilisant les [] )
<input type="checkbox" class="valid" name="checkbox[]" onclick="verif(this)"> 


Il serait également bien que tu mettes des VALUE à tes checkbox... sinon il te sera impossible de savoir lesquelles ont été cochées...

Par exemple :
 <input type="checkbox" class="valid" name="checkbox[]"  value="Autonome " onclick="verif(this)"> Autonome <br>
          <input type="checkbox" class="valid" name="checkbox[]" value="Créatif" onclick="verif(this)"> Créatif <br>


Puis côté PHP ... pour récupérer tes checkbox.. il te suffit de regarder ce que contient la variable
$_POST['checkbox']

Tu verras les checkbox cochées... et donc tu pourrais faire un COUNT dessus pour savoir si tu en as bien 4.

Perso.. je ferai cette vérif AVANT même que l'utilisateur ne clique sur le bouton submit ...
et pour ça... il te faut utiliser du javascript.
Dans l'idéal, si tu veux obliger l'utilisateur à remplir minimum 4 checkbox.. tu désactives le bouton à l'ouverture de la fenêtre.... puis tu ne le réactives QUE si 4 checkbox sont cochées...





Merci beaucoup de ton aide si rapide.

Je ne suis vraiment pas un expert en php, peut-être pourrais tu me dire comment faire pour :

"Puis côté PHP ... pour récupérer tes checkbox.. il te suffit de regarder ce que contient la variable $_POST['checkbox']
Tu verras les checkbox cochées... et donc tu pourrais faire un COUNT dessus pour savoir si tu en as bien 4.

Perso.. je ferai cette vérif AVANT même que l'utilisateur ne clique sur le bouton submit ...
et pour ça... il te faut utiliser du javascript.
Dans l'idéal, si tu veux obliger l'utilisateur à remplir minimum 4 checkbox.. tu désactives le bouton à l'ouverture de la fenêtre.... puis tu ne le réactives QUE si 4 checkbox sont cochées..."

Merci encore,

PoloSwag
Messages postés
34203
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2021
3 852 > PoloSwag

Je ne suis vraiment pas un expert en php

Ca tombe bien... car comme indiqué dans la seconde moitié de ma réponse....c'est en JAVASCRIPT qu'il faut que tu le fasses....

Et si tu veux de l'aide pour le faire en javascript...
commence par nous dire ce que contient ta fonction verif()
En effet, au temps pour moi... Du coup, plus besoin d'aide!!! Merci :)