2010-09-15 13 views
5

Sto inviando dati utilizzando HTTP POST al mio server. Ma nel server, non sto ricevendo i dati. E in qualche modo non ho modo di controllare i dati (o lo script di debug) sul lato client. Ma dal lato client sto ricevendo l'HTTP 200, significa che i dati vengono inviati. Inoltre posso vedere la connessione e l'invio di dati ha avuto successo. Tuttavia, il registro nel server non contiene i dati (solo il numero di byte).script php per registrare i dati grezzi di POST

Come posso registrare i dati POST non elaborati che sono stati inviati al server?

FYI, qui client è un dispositivo incorporato con funzionalità molto limitate. COSÌ, è questo problema. Quindi, non posso controllare "print_r" o "echo"

+0

Cosa succede se si prova un print_r ($ _ POST)? –

+0

sfortunatamente non riesco a vederlo dal lato client. Quindi, non funzionerà. – Morison

+0

Sei riuscito a riprodurre il problema con qualche altro client che è più potente (e in grado di eseguire cose come firebug ^^)? –

risposta

16

Prova:

<?php 
print_r($_POST); 
?> 

Si può anche provare:

<?php 
print_r($_REQUEST); 
?> 

Per mostrare se le variabili sono in arrivo a $ _POST (FORM-POST se la codifica/metodo è a destra) o $ _GET

Se si desidera effettuare il login di entrambi anziché stampare sullo schermo, è possibile provare:

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

Grazie Rudi, credo che file_put_contents sia la cosa migliore da fare. – Morison

0

provare a utilizzare var_dump($_POST['name-of-field']) o var_dump($_POST)

aggiornamento: // e sfogliare il sorgente della pagina e cercare un allineamento

0

Se si punta il modulo a una pagina con il seguente codice di che cosa si ottiene? Nicles?

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

sfortunatamente non riesco a vederlo dal lato client. Il client è in realtà un dispositivo incorporato. Quindi, non funzionerà. – Morison

9

Scrivi pubblicare i dati in un file:

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

Sebbene questo sia accettabile solo per il debug. Non permettere mai a nessuno di scrivere qualcosa che provenga da $ _POST direttamente in qualche file in app del mondo reale ... –

+0

Grazie mille Sjoerd. Immagino che questa sia la cosa migliore da fare. Visto che Rudi ha risposto lo stesso prima di te, quindi dovrò selezionare la sua risposta :( – Morison

+0

Martin, ho capito, lo userò solo per il debugging – Morison