Ik heb 1 formulier in met meerdere checkboxes erin (elk met de code):
<input type="checkbox" name="check_list" value="<? echo $row['Report ID'] ?>">
Waarbij $row['Report ID']
een primaire sleutel is in een database -dus elke waarde is anders.
Hoe zou ik kunnen zien welke checkboxes zijn aangevinkt? (Misschien meerdere)
Dit is voor een inbox systeem en ik heb een knop eronder die ik wil (wanneer erop geklikt wordt) om alle berichten te verwijderen (ids van: $row['Report ID']
) die de checkbox's aangevinkt hebben.
Zet de naam in het formulier op check_list[]
en je zult in staat zijn om alle checkboxes te openen als een array($_POST['check_list'][]
).
Hier's een klein voorbeeld zoals gevraagd:
<form action="test.php" method="post">
<input type="checkbox" name="check_list[]" value="value 1">
<input type="checkbox" name="check_list[]" value="value 2">
<input type="checkbox" name="check_list[]" value="value 3">
<input type="checkbox" name="check_list[]" value="value 4">
<input type="checkbox" name="check_list[]" value="value 5">
<input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
foreach($_POST['check_list'] as $check) {
echo $check; //echoes the value set in the HTML form for each checked checkbox.
//so, if I were to check 1, 3, and 5 it would echo value 1, value 3, value 5.
//in your case, it would echo whatever $row['Report ID'] is equivalent to.
}
}
?>
moet je je checkboxen dienovereenkomstig een naam geven:
<input type="checkbox" name="check_list[]" value="…" />
je kunt dan alle aangevinkte checkboxes openen met
// loop over checked checkboxes
foreach($_POST['check_list'] as $checkbox) {
// do something
}
ps. zorg ervoor dat je de uitvoer op de juiste manier escaped (htmlspecialchars()
)
<input type="checkbox" name="check_list[<? echo $row['Report ID'] ?>]" value="<? echo $row['Report ID'] ?>">
En na de post, kun je er doorheen lopen:
if(!empty($_POST['check_list'])){
foreach($_POST['check_list'] as $report_id){
echo "$report_id was checked! ";
}
}
Of een bepaalde waarde van de vorige pagina halen:
if(isset($_POST['check_list'][$report_id])){
echo $report_id . " was checked!<br/>";
}