2010-09-15 15 views
5

Ich sende Daten über HTTP POST zu meinem Server anmelden. Aber auf dem Server erhalte ich die Daten nicht. Und irgendwie habe ich keine Möglichkeit, die Daten (oder Debug-Skript) auf der Client-Seite zu überprüfen. Aber auf der Client-Seite bekomme ich HTTP 200, dh Daten werden gesendet. Außerdem kann ich sehen, dass die Verbindung und der Datenversand erfolgreich waren. Die Anmeldung im Server enthält jedoch nicht die Daten (nur die Anzahl der Bytes).PHP-Skript die Rohdaten von POST

Wie kann ich die rohen POST Daten protokollieren, die an den Server gesendet wurde?

FYI, hier Client ist ein Embedded-Gerät mit sehr begrenzten Fähigkeit. SO, ist dieses Problem. Also, ich kann nicht überprüfen „print_r“ oder „echo“

+0

Was passiert, wenn Sie eine print_r ($ _ POST) versuchen? –

+0

kann ich leider nicht auf der Client-Seite sehen. Also, es wird nicht funktionieren. – Morison

+0

Konnten Sie das Problem mit einem anderen Client reproduzieren, der potenter ist (und in der Lage ist, Dinge wie Firebug ^^ auszuführen)? –

Antwort

16

Versuchen:

<?php 
print_r($_POST); 
?> 

Sie können auch versuchen:

<?php 
print_r($_REQUEST); 
?> 

Um zu zeigen, wenn die Variablen in $ _POST kommen in sind (FORM-POST, wenn Codierung/Methode richtig ist) oder $ _GET

Wenn Sie lieber als auf dem Bildschirm drucken möchten - können Sie versuchen:

<?php 
file_put_contents("post.log",print_r($_POST,true)); 
?> 
+2

Danke Rudi, ich denke file_put_contents ist die beste Sache zu tun. – Morison

0

Versuchen Sie es mit var_dump($_POST['name-of-field']) oder var_dump($_POST)

aktualisiert: // und die Quelle der Seite sehen und suchen Sie nach einem Array

0

Wenn Sie Ihr Formular auf einer Seite mit dem folgenden Code zeigen, was bekommen Sie? Nicles?

<?php 
echo "<pre>" 
print_r($_POST); 
?> 
+0

kann ich leider nicht auf der Client-Seite sehen. Der Client ist tatsächlich ein eingebettetes Gerät. Also, es wird nicht funktionieren. – Morison

9

schreiben Post-Daten in einer Datei:

file_put_contents('/tmp/postdata.txt', var_export($_POST, true)); 
+0

Obwohl dies nur zum Debuggen akzeptabel ist. Lassen Sie niemals irgendjemanden etwas schreiben, das von einem $ _POST direkt in eine Datei in realen Apps kommt ... –

+0

Vielen Dank Sjoerd. Ich denke, das ist das Beste, was zu tun ist. Da Rudi das gleiche vor dir geantwortet hat, muss ich seine Antwort auswählen :( – Morison

+0

Martin, habe ich verstanden. Ich werde es nur zum Debuggen verwenden – Morison

Verwandte Themen