2017-12-19 1 views
0

Wie man durch POST mehrfach Checkbox IDs und VALUE gleichzeitig? Code unten zeigt HTML an, um Daten zu senden.Wie mehrere Kontrollkästchen Checkbox ID und Wert gleichzeitig bekommen

<form action="" method="post"> 
    first<input type="checkbox" name="first[]" id="first'<?php echo $data; ?>'" value="first" /> 
    second<input type="checkbox" name="first[]" id="second'<?php echo $data2; ?>'" value="second" /> 
    third<input type="checkbox" name="first[]" id="third'<?php echo $data3; ?>'" value="third" /> 
    <input type="submit" value="submit"> 
</form> 

Nach dem Senden per Post bekomme ich Werte, aber ID fehlt.

foreach($_POST['first'] as $value){ 
    echo 'VALUE: '.$value.'<br/>'; 
} 

Wie kann ich ID und VALUE senden und per Post erhalten, ohne sie zu explodieren? Natürlich kann ich sie danach teilen, aber es sollte einen anderen Weg geben.

+2

Die 'id' wird nicht an den Server gesendet. Was versuchen Sie hier eigentlich und warum? – David

+2

Die ID eines Elements wird nicht an das Back-End übertragen. Sie müssten einen dedizierten '' hinzufügen und seinen Wert auf den Wert der ID setzen. – MonkeyZeus

+3

Wenn ID ist das gleiche wie Wert - was ist der Sinn? –

Antwort

1

Wenn Sie einen id Wert von einem Eingang erhalten möchten, Ihr die id als Schlüssel verwendet in name Array

<input type="checkbox" name="first[first]" .../> 
<input type="checkbox" name="first[second]" .../> 
<input type="checkbox" name="first[third]" .../> 

oder

<input type="checkbox" name="first[1]" .../> 
<input type="checkbox" name="first[2]" .../> 
<input type="checkbox" name="first[3]" .../> 

dann, wenn Sie eine Schleife über Eingänge Ihre geschrieben, gehören die key im key=>value

foreach($_POST['first'] as $id => $value){ 
    echo 'ID: '.$id.' => VALUE: '.$value.'<br/>'; 
} 
4

Man könnte so etwas wie tun:

<form action="" method="post"> 
    first<input type="checkbox" name="first[0][value]" id="first[]" value="first" /> 
    <input type="hidden" name="first[0][id]" value="first[]"> 
    second<input type="checkbox" name="first[1][value]" id="second[]" value="second" /> 
    <input type="hidden" name="first[1][id]" value="second[]"> 
    third<input type="checkbox" name="first[2][value]" id="third[]" value="third" /> 
    <input type="hidden" name="first[2][id]" value="third[]"> 
    <input type="submit" value="submit"> 
</form> 

Und auf dem Back-End:

foreach($_POST['first'] as $value){ 
    echo 'VALUE: '.$value['value'].'<br/>'; 
    echo 'ID: '.$value['id'].'<br/>'; 
} 
+0

Jetzt fange ich, was du meinst) Dieser funktioniert auch für mich!) Danke!) – Orik0

+0

@ Orik0 Gern geschehen. Ich hoffe wirklich, dass Sie mein Beispiel nicht in Ihrem Projekt verwenden, da dies nur als letztes Mittel verwendet werden sollte, aber ich hoffe, dass ich Ihnen etwas Neues in Bezug auf Arrays in HTML/PHP zeigen konnte. Viel Glück! – MonkeyZeus

+0

Ich habe einen anderen Weg benutzt, aber dein Weg ist etwas Neues für mich, danke, dass du neue Wege zeigst!) – Orik0

Verwandte Themen