dedlfix: Zugriff auf variable Anzahl von Checkboxen

Beitrag lesen

echo $begrüßung;

Um durch ein Array mit unbekannten Schlüsselwerte zu laufen nimmt man foreach ($array as $key => $value)

Um es genau zu nehmen, sollten die Schlüsselwerte aber nicht unbekannt sein!

Bei meinen Ausführungen hatte ich erst

<input type="checkbox" name="todelete[1]">  
<input type="checkbox" name="todelete[2]">  
<input type="checkbox" name="todelete[3]">

im Sinn, so dass sich bei angehakter zweiten und dritte Box die Schlüssel 2 und 3 im $_POST['todelete']-Array befinden. (Alternativ als mit foreach diese Schlüssel zu ermitteln gäbe es auch noch array_keys().)

Doch es gibt auch noch eine andere Methode, die mir besser erscheint.

<input type="checkbox" name="todelete[]" value="1">  
<input type="checkbox" name="todelete[]" value="2">  
<input type="checkbox" name="todelete[]" value="3">

So hat man die zu löschenden IDs gleich als Array vorliegen und kann sie direkt implodieren.
sprintf('... WHERE id IN (%s)', implode(',', $_POST['todelete']))
Vorher muss man natürlich noch sicherstellen, dass die Werte auch Zahlen sind, um sich keine SQL-Injection einzufangen. Also kann man sich das Durchlaufen doch nicht ganz ersparen.

echo "$verabschiedung $name";