Cheatah: Etwas für jeden Datensat tun (foreach?)

Beitrag lesen

Hi,

PHP ist ziemlich dumm. Wenn Du per Formular eine Liste von (gleichnamigen) Werten übergeben willst, musst Du dies bereits vorher ankündigen:

<INPUT TYPE="CHECKBOX"  name="freigabe[]"

Hier machst Du es,

<INPUT TYPE="TEXT"  name="enddatumtag"

und hier nicht. Darum hast Du nur ein $HTTP_GET_VARS['enddatumtag'], nicht beliebig viele.

if (isset($freigabe)){

Du solltest _niemals_ magisch in den globalen Scope gehauene Variablennamen benutzen! Das ist ein immenses Sicherheitsrisiko. Nimm statt dessen $HTTP_GET_VARS['freigabe'] (bzw. bei POST-Formularen entsprechend $HTTP_POST_VARS).

In diesem Fall erhälst Du übrigens ein Array mit n Werten, welches theoretisch (nagel mich da bitte nicht fest) in _jedem_ Fall gesetzt sein sollte; auch wenn keine Checkbox angeklickt wurde. Das Array hat eine Länge, und Du kannst es in einer Schleife durchgehen. Unter der (nicht zwangsläufig gegebenen; aber ich kenne auch kein Gegenbeispiel) Bedingung, dass der Browser die Formularfelder in exakt der Reihenfolge versendet, in der sie angegeben wurden, ist der zugehörige Index von $HTTP_GET_VARS['enddatumtag'] der gleiche wie Dein Schleifenwert.

Cheatah