Gehen Post-Variablen verloren?
srob
- php
0 Andavos0 srob
0 Thomas Luethi0 srob
Hallo,
ich habe ein Problem, bei dem mir sowohl die Ursache als auch die Strategie zur Fehlereingrenzung schleierhaft sind. Folgendes Konstrukt läuft in der Regel fehlerfrei:
*-------* *-------*
| | post [nID = 4711] | |
| a.php | -------------------> | b.php |
| | | |
*-------* *-------*
form mit variable erzeugt PDF
nID (hidden) und liefert
diese zurück
Also: a.php erzeugt ein Dokument mit einem Formular (keine Benutzereingaben, alle Elemente hidden). In ein Formularfeld nID wird vom Skript eine ID, die beim Aufruf von a.php per Session übermittelt wurde, eingetragen. Diese ID wird beim Aufruf von b.php per Post weitergegeben. b.php filtert eine Datenbanktabelle nach der übergebenen ID, baut aus den Ergebnissätzen eine Tabelle in einem PDF-Dokument (fpdf) auf und liefert die PDF-Seite an den Klienten aus. Scheint bislang bei einigen hundert verschiedenen Klienten funktioniert zu haben - bis auf einen, der mir füchterlich auf den Wecker geht. er bekommt die PDF ohne die gewünschte Tabelle. Der PDF-Inhalt weist darauf hin, daß die keine ID per Post an b.php übergeben wurde (auch alle anderen Post-Variablen kommen nicht an).
Der Fehler ist für diesen einen Arbeitsplatz - WinNT 4.0 SP 6, IE 5.5, Acrobat Reader 5.0 - reproduzierbar (genauer: Problem tritt immer auf). Einzige Besonderheit, die mir auffiel, ist der Referrer:
Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0; 1u1ie4plus)
^^^^^^^^^^
Können Post-Variablen verlorengehen? Kann das am Client liegen? Oder könnte das Problem eine ganz anderen Ursache ausßerhalb meines Horizonts haben?
Vielen Dank für jeden Hinweis!
Robert
Hallo,
evt. rufst du sie nicht richtig ab, versuch mal:
... = $_POST["NAME"];
oder
... = $HTTP_VARS_POST["NAME];
und das Formular muss auch per "<form...>...</form>" übergeben werden
MFG
Andavos
... = $_POST["NAME"];
Formular muss auch per "<form...>...</form>" übergeben werden
Hi Andavos,
danke für den Hinweis. Ich denke, daß ich die Post-Übergabe via Formular grundsätzlich verstanden habe und mache das nicht zum ersten Mal. Mein Problemskript hat einige tausend erfolgreiche Aufrufe hinter sich; nur in einem einzigen Fall geht es nicht.
Robert
Hallo Robert,
Können Post-Variablen verlorengehen? Kann das am Client liegen?
Ja, ja. Oder an Firewalls, Proxies, WebWashern, Anonymizern...
Ich vermute das Problem irgendwo zwischen dem Browser und Deinem Server.
Versuch, das Problem einzukreisen.
Mach ein ganz einfaches Formular mit 1 oder 2 Variablen.
Mach ein ganz einfaches Script, das saemtliche POST-Variablen anzeigt.
Lasse diese Kombination von Deinem "Problem-Benutzer" ausprobieren.
mfg
Thomas
Ich vermute das Problem irgendwo zwischen dem Browser und Deinem Server.
Mach ein ganz einfaches Script, [...] Lasse diese Kombination von Deinem "Problem-Benutzer" ausprobieren.
Hi Thomas,
das ist wohl ein Weg. Wenn das auch mühsam sein wird und ich mich frage, ob es meine Aufgabe ist, jedem einzelnen Problem-User den kostenlosen Servicetechniker zu spielen. In dem speziellen Fall wird innerhalb der Session mehrmals per Post übergeben, was immer funktioniert. Nur die Übergabe in dieses eine Skript läuft nie... Sollte ich nicht anhand dieses Zusammenhangs ein Firewall/Proxy-Problem ausschließen können?
Wahrscheinlich werde ich den aufwendigen Weg über Minimalskripte gehen müssen.
Danke
Robert