POST-Variablen verschwunden
Henk Strobel
- php
Hallo,
ich habe ein Problem mit der Übergabe von Variablen in PHP. Dieser Fehler taucht sporadisch auf, d.h. er ist nicht immer reproduzierbar.
Die aus einem Formular geposteten Daten kommen einfach nicht beim Skript an, das die Daten weiterverarbeiten soll. Wenn ich mir $_REQUEST ausgeben lasse, enthält der Array nur die Session-ID, die nicht durch das Formular versandt wurde.
Ich poste hier mal keinen Code, da der Fehler bei verschiedenen Formularen auftritt: Das eine Formular verwendet den FCK-Editor (http://www.fckeditor.net/), das andere regelt einen Fileupload. Möglicherweise taucht der Fehler auch bei anderen Formularen auf.
Ich bin mittlerweile soweit, das ich eine Fehlkonfiguration eines Proxies, Routers o.ä. im Netzwerk des Kunden im Verdacht habe. Ist so etwas denkbar? Hat jemand eine andere Idee?
Viele Grüße
Henk Strobel
Hi Henk,
was fehlt ganau wann und wie hast Du versucht es zu untersuchen?
$_REQUEST ist überhaus ungeeignet zur Überfrüfung irgendwelcher Zusammenhänge, da in diesem Array die Parameter
$_ENV
$_GET
$_POST
$_COOKIE
$_SERVER
aufsummiert werden
http://de3.php.net/manual/en/ini.core.php#ini.variables-order
Fang mal hier
http://de.php.net/manual/en/ini.core.php#ini.register-globals
http://de3.php.net/en/language.variables.predefined
an zu lesen
LG
Chris
Hi Henk Strobel,
Die aus einem Formular geposteten Daten kommen einfach nicht beim Skript an, das die Daten weiterverarbeiten soll. Wenn ich mir $_REQUEST ausgeben lasse, enthält der Array nur die Session-ID, die nicht durch das Formular versandt wurde.
Probier es mal mit $_POST. Es gibt in der php.ini eine Direktive namens "variables_order":
This directive describes the order in which PHP registers GET, POST, Cookie, Environment and Built-in variables (G, P, C, E & S respectively, often referred to as EGPCS or GPC). Registration is done from left to right, newer values override older values.
Wenn da kein P drin ist, werden POST-Variablen auch nicht unter $_REQUEST registriert.
Ich bin mittlerweile soweit, das ich eine Fehlkonfiguration eines Proxies, Routers o.ä. im Netzwerk des Kunden im Verdacht habe. Ist so etwas denkbar? Hat jemand eine andere Idee?
Das kannst du ausprobieren, indem du das Script lokal ausführst. Dann kann es ja nicht am Netzwerk des Kunden liegen.
Vielleicht wird der Client zwischendrin weitergeleitet (z.B. mit Location:)? Dann gehen POSTs AFAIK meistens verloren.
Gruß, Marian
Hallo Marian,
Probier es mal mit $_POST.
$_POST existiert, ist aber leer...
Das kannst du ausprobieren, indem du das Script lokal ausführst. Dann kann es ja nicht am Netzwerk des Kunden liegen.
Ja, ich weiß. Bei mir tritt der Fehler auch nicht auf, bzw. bin ich nicht sicher, das die Leute beim Kunden nicht z.B. im Editor irgendetwas spezielles eingeben, das zu diesem Fehler führt. Werde dem in der nächsten Woche mal genauer auf den Grund gehen und mich vielleicht nochmal melden...
Vielleicht wird der Client zwischendrin weitergeleitet (z.B. mit Location:)?
Nein.
Viele Grüße
Henk Strobel