IMPORTANT Pb pour enregistrer form en PHP

Résolu
Bonjour,
Bonjour,
je voudrais enregistrer plusieurs checkbox coché dans ma bdd
jessaye depuis longtemps mais je n'y arrive pas aidez moi plzzz

HTML

<td><strong>Travaux souhaités</strong></td>
<td><input type="checkbox" value="options" name="options" /> A <br />
<input type="checkbox" value="options" name="options" /> B <br />
<input type="checkbox" value="options" name="options" /> C <br />
<input type="checkbox" value="options" name="options" /> D <br />
<input type="checkbox" value="options" name="options" /> E</td>

PHP

if (isset($_POST['options']))
{
$net = "1";

// on écrit la requête sql
$sql2 = "INSERT INTO DEVIS(nomclient, numcli, numtravaux) VALUES('$nom', '$mysql_id', '$net')";
}

Je n'arrive pas a dire a la requete la distinction des checkbox
aidez moi plzzz
merci
Configuration: Windows Vista Internet Explorer 7.0

6 réponses

  1. Bonjour,
    Il faut que tu changes tes valeurs dans les balises :
    <td><input type="checkbox" value="A" name="options" /> A <br />
    <input type="checkbox" value="B" name="options" /> B <br />
    <input type="checkbox" value="C" name="options" /> C <br />
    <input type="checkbox" value="D" name="options" /> D <br />
    <input type="checkbox" value="E" name="options" /> E</td> 
    1. ok merci Adenora
      et après je fis comment a partir de là ?

      if (isset($_POST['options']))
      {
  2. Je sais pas trop ce que tu veux faire, mais si tu veux récupérer la valeur qu'il y a dans $_POST['options'], tu peux faire :
    $valeur=$_POST['options'];

    Tu auras donc dans $valeur, soit A, soit B, soit C, soit D, soit E selon le choix de l'utilisateur dans le formulaire.
    1. j'ai fais ca

      if (isset($_POST['options']))
      {
      $ids = implode(', ', $_POST['options']) ;
      // on écrit la requête sql
      $sql2 = "INSERT INTO DEVIS(nomclient, numcli, numtravaux) VALUES('$nom', '$mysql_id', '$ids')";
      }

      car le user peut coché plusieurs cases donc je dois enregistrer toutes les cases
    2. @bipet ma technique ne fonctionne pas
      ya écri
      Warning: implode() [function.implode]: Invalid arguments passed in devis.php on line 38
      et ligne 38 cé le implode
  3. Je suis partie dans les boutons et pas dans les checkbox. Désolée.
    Il y a quelque chose qui ressemble à ton code (au moins pour l'implode) : http://actuel.fr.selfhtml.org/articles/phpasp/boitacocher/index.htm
    1. jviens de voir le site c'est ce que j'ai fait (enfin jpense)
      le pb maintenant c'est que ca n'enregistre seulement la dernière case coché et pas tte les case

      <td><strong>Travaux souhaités</strong></td>
      <td><input type="checkbox" value="1" name="options" /> A<br />
      <input type="checkbox" value="2" name="options" /> B <br />
      <input type="checkbox" value="3" name="options" /> C <br />
      <input type="checkbox" value="4" name="options" /> D <br />
      <input type="checkbox" value="5" name="options" /> F </td>

      if (isset($_POST['options']))
      {
      $ids = implode(', ', $_POST['options']) ;
      // on écrit la requête sql
      $sql2 = "INSERT INTO DEVIS(nomclient, numcli, numtravaux) VALUES('$nom', '$mysql_id', '$ids')";
      }
      // on insère les informations du formulaire dans la table
      mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());

      //j'ai fait un echo pour voir l'enregistrement ca n'affiche ke la dernière coché
      echo '<p>options:<br><br>'.$options.'</p>';

      :(
      1. Si on reprend l'exemple du site :
        <input type="checkbox" value="1" name="options[]" /> A<br />
        <input type="checkbox" value="2" name="options[]" /> B <br />
        <input type="checkbox" value="3" name="options[]" /> C <br />
        <input type="checkbox" value="4" name="options[]" /> D <br />
        <input type="checkbox" value="5" name="options[]" /> F </td>