Case à cocher à choix multiple php/mysql

Fermé
Angel - 30 mai 2011 à 16:25
sculderoy Messages postés 78 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 24 septembre 2018 - 31 mai 2011 à 10:52
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

Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 19
30 mai 2011 à 16:28
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
salut, non ce n'est pas possible parceque le champ de ma table se nomme pj
0
Eastchild Messages postés 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
30 mai 2011 à 16:43
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);
	   }
?>
0
Eastchild Messages postés 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
31 mai 2011 à 10:49
Utilise un tableau pour pj.
0
sculderoy Messages postés 78 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 24 septembre 2018 15
31 mai 2011 à 10:52
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