Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » ein Array mittels HTTP_POST_VARS übermitteln, wie stell ich d... Antworten
ein Array mittels HTTP_POST_VARS übermitteln, wie stell ich das am besten an?

Beta-Tester
Pixelschubser


Beiträge: 22


Moin,

ich hab nen Formular in Form einer Tabelle:

Artikelnummer | Artikelbezeichnung | Anzahl | Einzelpreis

die ist 10 Zeilen lang (soll u.U. irgendwann vielleicht auch mal erweiterbar sein)

Dort trägt der Benutzer per Hand alle nötigen Daten ein. Zugriff auf eine Artikel-Datenbank ist nicht möglich, da es eine solche Datenbank nicht gibt - Ende, aus, bitte keine Diskussion darüber. Es gibt einfach keine Datenbank - ist nicht meine Schuld.

So.
Die Formular-Generierung hab ich geschickt in einer Schleife verpackt bekommen. Die Namen der einzelnen Formularfelder werden durch die Laufzeit-Variable der Schleife automatisch hochgezählt.

Nun hab ich in meinem Fall also 10x4 Werte, die ich dann per HTTP_POST in die nächste Datei übertrage.
Und entsprechend lang ist dort dann der Rattenschwanz für die Übertragung der einzelnen Werte in ein Array.

Gibts da ne elegante Lösung?

An liebsten wäre es mir, wenn ich schon innerhalb des Formulars mit Arrays arbeiten könnte.
Geht das?
Und wenn ja, wie?


---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Als Namen für dein einzelnen Felder artikel[], preis[] etc. benutzen. Dann werden automatisch Arrays draus, wenn ich mich nicht irre.

---
Take a look here!
Lichtblick - Einblick - Ausblick

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Website   Editieren   Zitieren

raiserle
Fachidiot


Beiträge: 144


... nö, du irrst dich nicht...
übrigens, das macht bei radios den größten vorteil aus....
alle den selben namen... damit kann man nur einen anwählen, jetz muss ich ja
nur noch abfragen, welcher radio gewählt ist
#####
lustigerweise kann man das auch mit den submits machen, was bei einem
großen system wirklich von vortel sein kann...
alle haben den namen send[] value="Senden"
;) erspartschreibarbeit und gedanken

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   E-Mail   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Öhm wieso erspart das arbeit?? :-\ Mehr als ein Button wird doch eh nicht abgeschickt bzw. braucht man nicht?

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Beta-Tester
Pixelschubser


Beiträge: 22


Da danke ich euch ganz doll.

Hat mir ne ganze Menge Tipparbeit erspart.

---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

  Profil   E-Mail   Editieren   Zitieren

Beta-Tester
Pixelschubser


Beiträge: 22


Ich muss da noch mal nachhaken

ich hab nun alles ganz schick in Arrays verpackt

also bleistiftsweise: artikel[1] .... artikel[10)

nur komme ich mit HTTP_POST_VARS irgendwie nicht mehr an die Daten ran

http_post_vars[ artikel[$i] ] oder ein vergleichbares Konstrukt funktioniert leider nicht

ebensowenig Erfolg habe ich mit

list ($key, $val) = each (HTTP_POST_VARS);

was wohl vielleicht daran liegt, dass ich neben dem Array auch noch eine Fülle anderer Daten mit dem Formular übermittle

Ich hab nun schon einige Stunden rumgegoogled. Ich bekomme immer nur Beispiele, wie man Arrays in Formluaren anlegt, aber nicht, wie man diese wieder geschickt ausliest.




---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

Diese Nachricht wurde geändert von: Beta-Tester
  Profil   E-Mail   Editieren   Zitieren

chip
Quasselstrippe


Beiträge: 391


Im Formular selber werden keine Array-Indizes angegeben (wenn ich dein Beispiel jetzt richtig verstanden habe). Du gibts als Name eines Elements nur artikel[] an und für jedes weitere Element auch nur artikel[]. Anschließend kannst du das dann über http_post_vars[artikel[0]] usw. auslesen.

---

  Profil   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Warum nicht $_POST[] benutzen? Viel kürzer und empfohlen.
Mach mal einfach print_r($_POST); Dann siehst du genau, wie die Daten übermittelt und in $_POST abgelegt werden.

---
Take a look here!
Lichtblick - Einblick - Ausblick

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben