Achim Schrepfer: Checkboxen abspeichern

Beitrag lesen

Hi,

An diesem Punkt bin ich gescheitert.
Er speichert bei mir immer wieder "1" ab.

ich glaube, hier wäre ein Codeauszug nicht schlecht. Es wird halt so sein, daß Du die falsche Variable abspeicherst. Wenn der Haken rausgenommen wird, dann wird die Checkbox auch nicht übergeben. Von daher musst Du beim erneuten Speichern alle Checkbox-Werte auf 0 setzen und dann die angeklicken (und damit übergebenen) Checkboxen als 1 abspeichern.

Anders geht es auch mit einem Checkbox-Array:

1 <html>
      2 <head>
      3         <title>Checkboxen mit PHP auswerten</title>
      4 </head>
      5
      6 <body>
      7
      8 <form action="checkbox.php">
      9 <input type="hidden" name="sent" value="yes">
     10 <input type="text" name="auto"><br>
     11 <input type="checkbox" name="ausstattung[]" value="Sumpfgaseinspritzung"> Sumpfgaseinspritzung<br>
     12 <input type="checkbox" name="ausstattung[]" value="drei Ersatzreifen"> drei Ersatzreifen<br>
     13 <input type="checkbox" name="ausstattung[]" value="Schminkspiegel im Kofferraum"> Schminkspiegel im Kofferraum<br>
     14 <input type="checkbox" name="ausstattung[]" value="Kniescheibenbelüftung"> Kniescheibenbelüftung<br>
     15 <input type="checkbox" name="ausstattung[]" value="James-Bond Paket"> James-Bond Paket<br>
     16 <input type="submit">
     17 </form>
     18
     19 <?php
     20         $sent =& $HTTP_GET_VARS['sent'];
     21         $auto =& $HTTP_GET_VARS['auto'];
     22         $ausstattung =& $HTTP_GET_VARS['ausstattung'];
     23
     24         if ($sent == 'yes') {
     25                 $ausstattung_text = implode(', ',$ausstattung);
     26
     27                 echo '<h1>Ihr Wunschauto "'.$auto.'":</h1>';
     28                 echo '<p>Besondere Ausstattung:<br><br>'.$ausstattung_text.'</p>';
     29         }
     30 ?>
     31
     32 </body>
     33 </html>

In dem Array $ausstattung sind nur diejenigen Merkmale enthalten, die auch angeklickt wurden. Hängt man nämlch "[]" an den Namen einer Checkbox, so verarbeitet PHP alle Checkboxen mit demselben Namen als Array und schreibt die value-Inhalte jeder angeklickten Box hinein.

viele Grüße
Achim Schrepfer