Case à cocher à choix multiple php/mysql

Bonjour, j'ai une petite question concernant les cases à cocher.
En faite j'ai une page phph contenant des cases à cocher
le champ contient 3 cases à coché , quand par exemple je les coches les 3 dans ma base de données je n'ai qu'une seule d'enregistrer.
Si quelqu'un peut m'indiquer mon erreur svp , merci

<tr>
<td>Pièce jointe (rar/zip)<span class="rouge">*</span> :</td>
<td>CV:<input name="pj" type="checkbox" value="CV" /> <br />
Attestation:<input name="pj" type="checkbox" value="attestation" /> 
Diplôme:<input name="pj" type="checkbox" value="diplome" /> 
</td>
 </tr>


4 réponses

  1. Bonjour,
    je pense (mai sne suis pas sur) que le problème vient du fait que tes 3 checkbox ont le même "name".
    En mettant un nom spécifique à chacune ça devrait marcher.
    1. salut, non ce n'est pas possible parceque le champ de ma table se nomme pj
  2. Bonjour,

    Puisqu'il s'agit de réponse multiple, transforme tes names de string à table en rajoutant des crochés comme ci-après :

    <tr>
    <td>Pièce jointe (rar/zip)<span class="rouge">*</span> :</td>
    <td>CV:<input name="pj[]" type="checkbox" value="CV" /> <br />
    Attestation:<input name="pj[]" type="checkbox" value="attestation" /> 
    Diplôme:<input name="pj[]" type="checkbox" value="diplome" /> 
    </td>
    </tr>

    1. oui mais apres dans ma page cible je mets quoi svp ? car en faisant cei il me dit la formulaire est incomplet
               <?php
      include('connex.inc.php');
      //si tout les données sont bien saisies
      if( !empty($_POST['nom'])&& !empty($_POST['prenom'])&& !empty($_POST['cin'])&& !empty($_POST['etablissement'])&& !empty($_POST['email'])  && !empty($_POST['telephone'])&& !empty($_POST['adresse'])&& !empty($_POST['type']) && !empty($_POST['referenceoffre']) && !empty($_POST['delai']) && !empty($_POST['pj']))
      {
      //récupération des données saisies dont des variables
       
        $nom=mysql_escape_string($_POST['nom']);
        $prenom=mysql_escape_string($_POST['prenom']);
        $cin=mysql_escape_string($_POST['cin']); 
        $etablissement=mysql_escape_string($_POST['etablissement']); 
        $email=mysql_escape_string($_POST['email']);
        $telephone=mysql_escape_string($_POST['telephone']);
        $adresse=mysql_escape_string($_POST['adresse']);
        $type=mysql_escape_string($_POST['type']);
        $referenceoffre=mysql_escape_string($_POST['referenceoffre']);
        $descriptionsujet=mysql_escape_string($_POST['descriptionsujet']);
        $delai=mysql_escape_string($_POST['delai']);
        $pj=mysql_escape_string($_POST['pj']);
       
        //Requête SQL
        $requete="INSERT INTO formulaire (nom, prenom, cin,etablissement, email,telephone, adresse,type,referenceoffre, descriptionsujet,delai,pj) 
        VALUES ('$nom' ,'$prenom','$cin','$etablissement', '$email','$telephone','$adresse','$type','$referenceoffre','$descriptionsujet', '$delai', '$pj')";
        $requete2="INSERT INTO user (login, motdepasse,nom,prenom,mail,telephone) VALUES ('$email','$cin','$nom' ,'$prenom','$email','$telephone')";
      
      
        $idcom=connex('pfe','myparam');
        $idcom2=connex('pfe','myparam');
       
      
        $result=mysql_query($requete,$idcom);
        $result2=mysql_query($requete2,$idcom2);
      
         
      $mysql_result = mysql_query ("SELECT max(referenceformulaire) FROM formulaire");
      $row = mysql_fetch_row ($mysql_result);
      $referenceformulaire = $row[0]; 
        //si le résultat de la requete est:echoué 'erreur MYSQL
        if(!$result)
        {
          echo mysql_errno();
          echo mysql_error();
          echo "<script type=\"text/javascript\">
      	alert('Erreur : Cette adresse mail exite déjà".mysql_error()."')</script>";
      	
        }
        //sinon si résultat=succés
       
       else
       {
       echo "<br><br>";
       echo "Référence de la demande :" .$referenceformulaire. "<br><br>";
       echo "Nom :" .$nom. "<br><br>";
       echo "Prénom :" .$prenom. "<br><br>" ;
       echo "CIN (Mot de passe) :" .$cin ."<br><br>";
       echo "Etablissement :" .$etablissement ."<br><br>";
       echo "E-mail (Identifiant) :" .$email. "<br><br>" ;
       echo "Téléphone :" .$telephone. "<br><br>" ;
       echo "Adresse :" .$adresse. "<br><br>" ;
       echo "Type :" .$type. "<br><br>" ;
       echo "Référence offre :" .$referenceoffre. "<br><br>" ;
       echo "Délai de la réponse :" .$delai. "<br><br>" ;
      }
      }
        //si l'étudiant ne saisie pas la totalité des données du formulaire
        
         else {
      	   echo "<h5>Formulaire de demande de stage incomplet, pour revenir cliquer <a class='blanc' href=\"formDemandeStage.php\">içi</a>.</h5>"; 
         }
         
         
         
         //Si le sujet est proposé par l'utilisateur on ajoute la description à la table sujet
         if(isset($_POST['referenceoffre'])==('Proposer un sujet'))
         {
      	$descriptionsujet=mysql_escape_string($_POST['descriptionsujet']);
      		 //Requête SQL
        $requete3="INSERT INTO sujet (descriptionsujet) VALUES ('$descriptionsujet')";
        $idcom3=connex('pfe','myparam');
        $result3=mysql_query($requete3,$idcom3);
      	   }
      ?>
      1. Utilise un tableau pour pj.
    2. Déjà, vu comme ta base me semble faite, pj ne peut contenir qu'une seule entrée... Peut-être aurais-tu du faire une table à côté liée à ta table actuelle =)