POST-Array Es kommen nicht alle Daten an

MsvP@habdichliebhasi

Erfahrenes Mitglied
Hallo zusammen,

folgendes Problem:
Ich habe ein Script (eigenes Backend-Modul für Typo3), das dynamisch eine menge Input-Felder erzeugt und diese mit name="input[$i]" durchnummeriert.

Beim versenden der POST-Daten des Formulars zur nächsten Seite kommen aber immer nur 83 Datensätze an. Nach "input[82] ist schluss.

Woran kann das liegen?

Hier meine Einstellungen aus der php.ini:
max_file_uploads 20
max_input_time 200
memory_limit 88M
max_execution_time 90
post_max_size 40M

Vielen Dank fürs Helfen - beste Grüße
Micha
 
Ich sehe keinen Zusammenhang zwischen 1000 und 83.
Hier steht auch, dass du dann einen Fehler erhälst:
Wie viele Eingabe-Variablen maximal angenommen werden. Diese Direktive verhindert die Nutzung von Hashtable Kollisionen für eine Denial of Service Attacke. Wenn mehr Eingabe-Variablen gesendet werden, als mit dieser Direktive erlaubt, wird ein Fehler der Stufe E_WARNING geworfen und weitere Eingabe-Variablen werden nicht angenommen. Dieses Limit wird für mehrdimensionale Eingabe-Arrays für jede Nesting-Ebene einzeln berechnet.
Quelle: PHP.net
 
Ist zwar keine direkt Hilfe aber mache doch mal einen Test und schicke die Seite so ab das mal 10, mal 28, mal 44 und mal 84 Felder erzeugt werden.

Wenn die Tests mit den "kleineren" Zahlen klappen, da zählt es bei dir (warum auch immer) nur bis 83.

Gibt es bei dir im Code irgendeine Bedingung die das Zählen > 83 irgendwie verhindert oder so etwas ähnliches?
 
Okey, es lag tatsächlich an der Einstellung: max_input_vars = 1000

Der Zusammenhang erklärt sich daraus, dass die 83 quatsch waren. Ich hatte vergessen, dass bei den 83 Input-Felder noch jeweils 10 weitere Felder dazu kamen, für etwaige Grundeinstellungen.
Insgesamt belief sich die Zahl der Post-Datensätze dann wohl auf 1000.

Mal eine andere Frage - seht ihr ein Problem darin so eine große Menge an Feldern per Post-Formular zu übertragen?

Gruß
Micha
 
Ist schnell erklärt, meine Kundin ist Fotografin. In ihrem online Auftritt hat sie einen Shop, in dem Sie ihren Kunden Fotos von Events bereitsstellt, die diese wiederum dort bestellen können.
Da sie nicht jedes Foto einzeln anlegen will, als Produk im Shop, habe ich ein Modul gebaut, in das sie die Fotos hochladen kann. Danach kann Sie dann jedem Foto einen Namen geben + einige Eigenschaften eintragen und dann erzeugt das Modul automatisch Shopartikel.

Da sie jetzt angefangen hat auch mal 200 Fotos online zu stellen (digitiale Fotografie sei dank) kann sie jetzt also 200 Fotos hochladen + dann jedem Foto Eigenschaften eintragen.

Das potentiert sich dann nach oben. z.B: 200 Fotos * 10 Felder = 2000 Post-Einträge.

(Da sie die ganzen Eigenschaften aber eh nicht mehr ausfüllt, wäre zu überlegen ob man ihr mal nahelegt die Felder abzuschalten... das würde ich allerdings nur machen, wenn es wirklich ein Problem wäre, so viele Post-Daten zu übertragen)

Lg
Micha
 
Es ist mittlerweile auch möglich, mehrere Dateien in einem Dateifenster auszuwählen (z.B. genutzt bei gmail). Das würde das uploaden enorm einfacher machen, wenn sie nicht 200mal auf einen Button drücken muss.
 
Ne, das hast du falsch verstanden. die Datein läd sie definitiv direkt in Stapelverarbeitung hoch. Mehrere Dateien auswählen, hochladen, fertig.

Aber danach werden dann alle hochgeladen Dateien aufgelistet + eben diese Input-Felder pro Bild.

Dann kann Sie für jedes Bild noch was eingeben und dann auf Artikel erzeugen klicken. Anschließend schickt das script alles per Post an eine zweite Seite, die dann das Post-Array per Foreach-Schleife durchläuft und zu jedem Bild einen Shop-Artikel anlegt.
 
Zurück