Vertracktes Problem bei Differenz in einem Array

Spelmann

Erfahrenes Mitglied
Hallo, ich hatte schon lange kein Problem mehr, das ich nicht selber lösen konnte. Nun ist es mal wieder so weit.

Ich habe ein HTML Formular, in dem immer wiederholend folgende Felder enthalten sind :
HTML:
<input name="kurs[]" type="checkbox" value="Kurs soundso" />
<input name="preis[]" type="hidden" value="6" />
<select name="anzahl[]">
 <option value="1">1 Person</option>
 <option value="2">2 Personen</option>
</select>

Diese Daten wollte ich nun per PHP auslesen:

PHP:
meineschleife{
echo $_POST['anzahl'][$i];
echo $_POST['kurs'][$i];
echo $_POST['preis'][$i];
}

Das Problem ist nur, dass kurs[] gar nicht ins Array aufgenommen wird, wenn die Checkbox nicht angehakt wurde.
Dadurch kommt es zu einem Versatz.
Hake ich den zweiten Eintrag in meinem Formular an, wird er als kurs[0] ausgegeben.
Die dazugehörige Personenzahl ist dann aber schon anzahl[1] weil ja auch das erste Feld anzah[], im Gegensatz zu Checkbox definitiv einen Wert hat.

Ich habe dann folgendes versucht:
PHP:
meineschleife{
if($_POST['kurs'][$i]){
echo $_POST['anzahl'][$i];
echo $_POST['kurs'][$i];
echo $_POST['preis'][$i];
}else{
unset($_POST['preis'][$i]);
unset($_POST['anzahl'][$i]);
}

Das funktioniert aber nicht.
Hat jemand eine Idee?
 
Zuletzt bearbeitet:
Hatte ich erst so. Dann dachte ich, HTML kennt das so nicht. (Fand auch in Foren Hinweise auf die andere Schreibweise)
Jedenfalls lag beim ersten Versuch der Fehler wohl woanders.
Die Hauptsache ist, ES FUNKTIONIERT wie von Dir beschrieben.
Vielen Dank und noch ein schönes Wochende
 
Zurück