<?php
if (isset($_POST['submit']) && isset($_POST['Vorname'])
&& isset($_POST['Jahr']) {
try {
$db = new Mysqli('localhost', 'root', '', 'namen');
echo 'Verbindung offen.<br />';
$sql = sprintf ("INSERT INTO angaben (Vorname, Jahr)
VALUES ('%s','%s')",
$db->real_escape_string($_POST['Vorname']),
$db->real_escape_string($_POST['Jahr']),
);
$db->query($sql);
echo 'SQL Geschickt. <br />';
$db->close();
echo 'Verbindung zu.<br />';
} catch (Exception $e) {
echo 'Fehler:' . htmlspecialchars($e->getMessage());
}
}
?>
<form method="POST">
<input type="text" name="Vorname" value="Vorname" /> <br />
<input type="text" name="Jahr" value="Jahr" /> <br />
<input type="checkbox" name="Jahr[]" value="1" /> <br />
<input type="checkbox" name="Jahr[]" value="2" /> <br />
<input type="checkbox" name="Jahr[]" value="3" /> <br />
<input type="checkbox" name="Jahr[]" value="4" /> <br />
hallöchen nocheinmal :)
Und zwar habe ich das problem das ich dieses Checkbox array nicht in die datenbank bekomme. Ich weiß das ich es zu einem string formatieren muss bevor ich es weiterleiten kann. Jetzt ist die Frage nicht nur wie sondern auch wo? Mitten in der php mysqli anweisung geht das bestimmt nicht, es wird wohl so sein, das ich herausfinden muss welche checkbox ausgewählt wurde und diese dann als string weiterschicke?
Ich weiß das php leere checkboxen ignoriert und mit ihnen gar nichts macht bin ziemlich ratlos. Wäre nett wenn jemand mir helfen könnte.
<input type="checkbox" name="Jahr1" value="1" /> <br />
<input type="checkbox" name="Jahr2" value="2" /> <br />
<input type="checkbox" name="Jahr3" value="3" /> <br />
<input type="checkbox" name="Jahr4" value="4" /> <br />
Das ist für mich leider keine Lösung da ich die abfrage ob etwas angeklickt ist wennn nicht gib aus: Bitte wählen sie ihr Jahr aus schon aufgebaut habe. Ich muss lediglich das array in einen string umwandeln, ich weiß auch das es mit unserialze() gehen müsste, aber habe auch gelesen das es nicht die beste methode ist. Gibt es eine möglichkeit hier mit implode/explode zu arbeiten?