Mailinglisten-Archive |
Hi Frank, Am Donnerstag, 8. Dezember 2005 08:17 schrieb Frank Rust: > gibt es irgend eine Standard Möglichkeit die Parameter die per POST > Request vom Browser übermittelt werden in die Apache Logfiles zu > bekommen? eine Standardmöglichkeit ist mir nicht bekannt. Du müßtest dafür vermutlich ein eigenes Modul schreiben. Bei einem java-basierten Tomcat-Server wäre das sicherlich noch eine berrschbare Aufgabe. ;-) Außerdem ist es ja so, daß mit POST eine Menge Daten übergeben werden können, u.a. z.B. auch hochgeladene Dateien. Das alles generell ungefiltert zu loggen, macht sicherlich wenig Sinn. > Oder generell: kann ich Dinge in die Apache Logs vom PHP > aus schreiben? Z.B. Debugging ins error.log und Aufrufparameter > ins access.log? Theoretisch ja. Aber: Diese Logs haben fest definierte Formate und werden vom Apache selbst benutzt und i.d.R. von Werkzeugen wie LogRotate archiviert. Wo willst Du da POST-Daten reinschreiben? Generell würde ich auch von anderen Programmen automatisch generierte und geschriebene Dateien nicht mit eigenen Programmen ändern. Aber anders herum wird ein Schuh draus: Schreibe doch mit PHP die POST-Daten ($_POST) des in Frage stehenden Formulars einfach in eine eigene, von Dir angelegte Datei. Das langt doch. Und derjenige, der Probleme hat, soll dann das Formular noch mal abschicken, während Du mit ihm am Telefon "hängst". Dann kannst Du sofort sehen, was Sache ist. > Ich habe leider immer wieder Leute hier auf meiner Webseite, die > behaupten alles richtig in die Formulare eingetragen zu haben und > trotzdem funktioniert es nie. Seltsamerweise funktioniert es für > mich immer, egal mit welchem Browser ichs probiere... Erstens mal kann es sein, daß es nicht am Browser, sondern an den von Dir vorausgesetzten Browsereinstellungen liegt (z.B. Javascript und/oder Cookies aktiviert, HTTP_REFERER wird gesendet), und zweitens können auch Firewalls und Proxies dazwischen hängen, die Ärger machen. Von daher wird es sicherlich nicht reichen, die POST-Daten zu loggen. Du mußt z.B. auch den Inhalt von $_SERVER dabei haben. Vielleicht fällt Dir dann mehr auf. Eine dritte, etwas heikle Möglichkeit wäre, daß es an der Verständlichkeit Deines Formulars bzw. der Auffassungsgabe der Benutzer liegt... Weißt Du denn genau, ob die alles richtig machen? Oder macht Dein Formular bei einer Prüfung der eingegebenen Daten alles richtig? Vielleicht verwehrt es ja bei bestimmten Eingaben, die eigentlich korrekt sind, bei fehlerhafter Prüfung das Abschicken? Also Du müßtest in den betreffenden Fällen mal genau klären, welche Schritte die Anwender gemacht haben und wo was nicht funktioniert hat. Ich habe da schon die dollsten Dinge erlebt. Da kommst Du selbst als autodidaktischer Programmierer, der noch ein Bißchen Bodenhaftung als Anwender hat, im Leben nicht drauf... ;-))) > Leider kann ich die Aussagen nicht ohne größeren Programmieraufwand > prüfen, da die Daten per POST Request übermittelt werden. Wieso nicht? :-) Einfach eine kleines Logging-Skript schreiben und mit php_auto_prepend als allerersten Programmcode in alle Seiten einbinden. Wenn POST gefüllt ist, wird was geschrieben, sonst nicht. Manche Aufgaben sind gar nicht so kompliziert, wenn man mal einen Augenblick einen Schritt zurücktritt und sich das Ganze aus etwas Entfernung betrachtet. Vielfach gibt es eine verblüffend einfache Lösung. Man muß sie nur finden. :-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive