Speicherung von Checkboxwerten in einer Datenbank
Hauke Hammerich
- php
0 Tom
Hallo!
Ich habe mal eine Frage und zwar möchte ich gerne die Werte mehrere Checkboxen in eine Mysql_DB speichern.
Die Checkboxen sehen wie folgt aus:
<input type="checkbox" value="a1" name="xyz">
<br>
<input type="checkbox" value="a2" name="xyz">
<br>
<input type="checkbox" value="a3" name="xyz">
<br>
usw...
Wie kann ich diese Werte alle z.B. unter xyz in der DB speichern? So möchte ich z.B. auch alle 3 Boxen markieren könne und in die DB übergeben.
Ich stehe irgendwie gerade auf'm Schlauch oder hab nen Denkfehler.
Gruß
Hauke
Hello,
Hast Du Dir mal angeschaut, was PHP Dir zur Verfügung stellt, wenn Du drei gleichnamige Felder (Skalare) in einem Formular sendest?
Bau Dir ein Test-Script, dass die Formularwerte auswertet:
Es muss eigentlich nur
<?php
phpinfo();
?>
drinstehen und dieses Script als action-Attribut im <Form>-Tag angegeben werden.
-------
Und der nächste Tipp ist:
Wähle als namen von gleichnamigen Feldern (Feldgruppen)
name[]
also einen "Array"-Bezeichner und dann poste nochmal an Dein Testscript.
-------
Tipp Nummer drei:
Beim Arbeiten mit Datenbanken sollte serverseitig grundsätzlich eine Sesseionngeführt werden.
Alle Formularfelder und deren Werte, die man aussendet, speichert man unter einer Unique-ID innder Session. Die Unique-ID sendet man dem Formualr als hidden-Field mit.
Wenn unter dieser ID ein Post eintrifft, prüft man, ob diese noch in der Session vorhanden ist und vergleicht dann die rückgesendeten Parameter (Felder). Es müssen alle (bis auf die Radios und Checkboxen) wieder enthalten sein, es dürfen nicht mehr sein. Sonst hat der Poster manipuliert.
Die ID darf noch nicht abgearbeitet worden sein.
Dann kann man durch Vergelichen auch die Checkboxen ermitteln, die "entsetzt" worden sind.
Kommt noch ein Post zur selben Form-ID, kann das nur ein Doppelpost sein oder ein Fake...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom