ich hoffe, Ihr könnt mir helfen...
Nachdem ich über die Suche nichts gefunden habe, was so richtig passt, mache ich zu meinem Problem einen neuen Thread auf.
Ich habe in der Firma ein seltsames Problem mit PHP. Abhängig von der verwendeten URL (genauer: abhängig vom verwendeten Servernamen) funktioniert ein HTTP-POST mal - und mal nicht. Ich bin mittlerweile am verzweifeln.
Ich habe als Test-Code mittlerweile das Beispiel von hier verwendet: http://de.php.net/manual/en/language.va ... ternal.php - ich habe meinem eigenen Code nicht mehr vertraut. Die Testdateien sehen wie folgt aus:
HTML-Formular
- Code: Select all
<html>
<head>
<title>Test</title>
</head>
<body>
<form action="test.php" method="post">
Name: <input type="text" name="username" /><br />
Email: <input type="text" name="email" /><br />
<input type="submit" name="submit" value="Submit me!" />
</form>
</body>
</html>
PHP-Script
- Code: Select all
<html>
<head>
<title>Test</title>
</head>
<body>
<?php
echo $_POST['username'];
echo $_POST['email'];
?>
</body>
</html>
Wenn ich das Formular mit http://servername/formular.html aufrufe, kommen die Daten in PHP an, ich habe gefüllte Variablen. Verwende ich stattdessen den vollqualifizierten Namen servername.de.firma.com, dann sind die Daten weg - die Variablen sind leer. Soweit so gut. Ich habe jetzt mal testhalber eine neue Zone im DNS angelegt, um den Fehler einzugrenzen. Wenn ich die URL mit dem anderen Namen aufrufe (servername.test.firma.de, als CNAME definiert) dann geht es auch.
Es funktioniert mit allen Namen, die ich dem Server per DNS gebe - nur nicht mit dem, den er eigentlich hat. Sowie ich es mit servername.de.firma.com probiere, sind die POST-Daten verschwunden.
Stelle ich alles auf GET um, geht es. Ich habe aber irgendwie wenig Lust, mit GET zu arbeiten...
Ich habe in der httpd.conf überall den vollqualifizierten Servernamen drinstehen (ich hab' das auch schon geändert, macht aber auch keinen Unterschied).
Zur Konfiguration:
Windows Server 2003 (SP1, 32-Bit).
Apache 2.0.59, läuft als Dienst.
PHP 4.4.4.
register_globals = OFF (hab' auch schon "ON" probiert - macht keinen Unterschied, auch die direkten Variablen sind leer).
PHP ist als Apache-Modul über die php4apache.dll eingebunden.
Alles wurde separat installiert, ich habe kein fertiges Paket verwendet.
Ansonsten geht auch alles, Datenbankabfragen in Oracle und MySQL, Scripts, etc. - keine Probleme außer dem dummen POST...
Browser hab' ich auch schon alle durch: IE6, Opera 9.10 und Firefox. Kein Unterschied. Ich hab' auch den Apache und PHP schon neu installiert - ohne Erfolg.
Mir gehen die Ideen aus. Ich hoffe, einer von Euch hat mir einen Tipp...