2016-08-02 32 views
0

Willkommen, Ich habe ein Problem mit Formular und Daten in mysql einfügen. Meine Form hat einen Eingang:Wie fügt man Formulardaten in mysql ein, wenn das Kontrollkästchen aktiviert ist?

<inpu type="checkbox" name="check"> 

und dies ist mein Code diese Formulardaten an mysql einzufügen.

if(isset($_POST['check'])) { //things to insert } 

und wenn i eine Checkbox Code eingefügt jeden Datensatz auszuwählen, wenn ich alle auswählen Checkboxen sein auch ein jeder Datensatz (alle Daten) eingefügt wird. Aber wenn ich kein Kontrollkästchen auswähle, ist der Eintrag leer (gut). Was ist mit diesen Checkboxen falsch?

+0

Entschuldigung für mein Englisch :-) – MB83

+0

sollten Sie wahrscheinlich mehr Code zur Verfügung stellen, ein kleines Beispiel, wo wir mehr als einen Datensatz sehen können und wie Ihr PHP-Skript diese behandelt. – Jakumi

Antwort

0

Checkboxen werden nur über POST gesendet, wenn sie aktiviert sind. Wenn sie nicht markiert sind, werden sie nicht gesendet. Vielleicht erwarten Sie den Wert "ein", wenn sie aktiviert sind, und den Wert "aus", wenn nicht markiert, aber nein !, erhalten Sie nur "ein", wenn sie aktiviert sind, sonst nichts. Also, wenn Sie eine Checkbox (überprüfen Sie es mit isset ($ _ POST ['checkbox_name'] ') Variable in Ihrem Post-Set 1, wahr,' Y 'oder was auch immer Sie für boolean Wert in Ihrer Datenbank verwenden. Wenn Sie nicht erhalten! isset() und stellen Sie dann 0, falsch, oder 'N' Die gleiche Situation ist mit behinderten INPUT Elemente Ihre Werte werden nicht t-Server gesendet

<form action"processor.php" method="post"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input type="submit" value="Save"> 
</form> 

In Ihrer processor.php Datei:...

$data=$_POST['data']; //array received 
$checks=$_POST['check']; //array received (checked only) 
foreach($checks as $key=>$check) //loop through all checks that are sent 
{ 
    $value=$data[$key]; //do whatever you want with corresponding data 
} 
+0

Könntest du mir schreiben, wie man den Wert der Eingabe in PHP ändert/an meinem Beispiel? – MB83

+0

Es ist nicht klar, was Sie mit Ihren Checkboxen erreichen möchten. Sie sprechen über Daten, die Sie einfügen möchten, Checkboxen bringen nur booleschen Wert 'ein' oder 'aus'. Welche Daten möchten Sie speichern? – sbrbot

+0

ich möchte einen Datensatz (id, event_id, name, start_time) in mysql einfügen. das ist es. aber nur die Datensätze, die durch Eingabe ausgewählt sind. – MB83