Seite 1 von 1

while: $_POST ?

Verfasst: 22.04.2007 18:41
von leopittoni
Hallo wieder einmal...

Ich gebe ein Formular dynamisch aus, pro DB-Feld gibts ein Formularfeld.
Jedes Formularfeld heisst name="name1", name="name2" usw.

In der Datei, an welche die Daten gesendet werden, wenn das Formular gesendet wird ($_POST), sollen nun alle Einträge die Einträge der DB aktualisieren.

Deshalb muss ich das irgendwie in eine while schleife packen, da ich ja nicht genau weiss, wie viele Formular-Felder es sind...

Nur: Wie kann ich eine Aktion durchlaufen lassen (while-schlaufe), bis es keine Formular-Felder (name="name1",...) mehr hat?

Danke! Léo

Verfasst: 22.04.2007 18:45
von Pyramide
Du solltest auf keinen Fall Daten die per GET/POST kommen ungeprüft an die DB weiterleiten.

Verfasst: 22.04.2007 18:51
von leopittoni
Ok, aber die Daten kann ich ja auch dann überprüfen, und wenns ok ist, in die DB. Sonst eine Fehlermeldung.

Nur wie kann ich, alle Formular-Zeilen durch eine while-schleife lassen, bis es keine mehr hat? Wie gesagt: die felder des formulars sind von 1-... angeschrieben.

Danke! Léo

Verfasst: 22.04.2007 19:19
von Miriam
Wenn sie durchnummeriert sind, könnest Du es bspw. so machen:

Code: Alles auswählen

for ($i=0; $i<count($_POST); $i++)
{
	print $_POST[$i+1];
}

Verfasst: 22.04.2007 19:49
von leopittoni
Und wo wird da der Feldname angegeben?

es werden ja verschiedene (andere) Daten noch über $_Post übergeben.

soll es dann einfach:

Code: Alles auswählen

for ($i=0; $i<count($_POST['feld']); $i++) 
{ 
   print $_POST[$i+1]; 
}
sein?

Und was, wenn mein "name" von einem feld "name1", "name2", usw. ist?

Danke! Léo

Verfasst: 22.04.2007 20:09
von Miriam
Hattest Du nicht eben geschrieben, dass sie mit 1 beginnend nummeriert sind.....?

Du kannst es auch so machen:

Code: Alles auswählen

while (list($key, $val) = each($_POST))
	print($_POST[$key]);
Oder oder oder.......