Case à cocher à choix multiple php/mysql

Angel -  
sculderoy Messages postés 84 Statut Membre -
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. Steefif Messages postés 526 Statut Membre 19
     
    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.
    2
    1. Angel
       
      salut, non ce n'est pas possible parceque le champ de ma table se nomme pj
      0
  2. Eastchild Messages postés 337 Statut Membre 31
     
    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
  3. Angel
     
    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);
    	   }
    ?>
    0
    1. Eastchild Messages postés 337 Statut Membre 31
       
      Utilise un tableau pour pj.
      0
  4. sculderoy Messages postés 84 Statut Membre 15
     
    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 =)
    0