PHP et checkbox

Résolu/Fermé
PoloSwag - Modifié par baladur13 le 8/06/2016 à 20:53
 PoloSwag - 8 juin 2016 à 22:10
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
A voir également:

1 réponse

jordane45 Messages postés 38216 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 juin 2024 4 680
8 juin 2016 à 21:56
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...





0
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
0
jordane45 Messages postés 38216 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 juin 2024 4 680 > PoloSwag
8 juin 2016 à 22:08

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()
0
En effet, au temps pour moi... Du coup, plus besoin d'aide!!! Merci :)
0