[php] Toon/bewaar HTTP POST content in text bestand

Pagina: 1
Acties:
  • 242 views

  • Simkin
  • Registratie: Maart 2000
  • Laatst online: 09-02 08:56
Voor debug doeleinden probeer ik de gehele content van een HTTP POST te bewaren in een text bestand en probeer dit te doen mbv PHP, hier heb ik echter geen kaas van gegeten. De post bevat dynamische name-value pairs. Ik wil dus de gehele post content bewaren en niet een set van predefined variablen.

De post ziet er vb zo uit:
http://127.0.0.1/test.php?a=1&b=2&c=3

Ik wilde beginnen met het tonen van de post content, maar zelfs dat lukt me niet eens..
Dit heb ik geprobeerd:
code:
1
2
3
4
5
<?php
  $fh = fopen('text.txt', 'a');
  fwrite($fh, print_r($_REQUEST, true));
  fclose($fh);
?>

code:
1
2
3
4
<?php
var_dump($_POST);
exit();
?>

code:
1
2
3
4
<?php
foreach($_POST as $key => $value){
echo $key.": ".$value;
}

code:
1
2
3
4
<?php
echo '<pre>';
print_r ($_POST);
echo '</pre>';


Het enige wat de browser laat zien is de text "array(0) { }".
kan iemand me aub verder helpen?

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 16:55

MueR

Admin Devschuur® & Discord

is niet lief

Behalve dat je het verschil tussen post en get niet helemaal door schijnt te hebben, mis ik voornamelijk _wat_ er dan niet lukt.

Anyone who gets in between me and my morning coffee should be insecure.


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Je linkt naar een 127.0.0.1 server? Dat is localhost en kan dus niemand openen. Of is dat alleen om die GET variabelen te tonen?

Verder geef je een url met GET variabelen geen POST, POST variabelen worden meestal verzonden door een form element in HTML waarbij het method attribute op post staat.

Ik vind het soms handiger om ipv print_r of var_dump, gebruik te maken van json voor het printen van debugcode naar een file, omdat hier geen returns in zitten.

Ook test je nergens of de file bestaat, kijk ook eens of alle error reporting aan staat, misschien dat fopen wel een foutmelding geeft maar dat je die niet ziet. Of natuurlijk als er ergens fouten naar een logfile geschreven worden, kan je die tailen.

[ Voor 3% gewijzigd door kluyze op 03-08-2010 11:49 ]


  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik weet niet precies wat je probeert te debuggen maar als het gaat om handmatig replay-en van requests heb je wellicht iets aan Charles.

Verder met MueR, lees je eerst eens in over de werking van superglobals in PHP. Het verschil tussen GET en POST staat zelfs nog los van PHP... ;)

  • Simkin
  • Registratie: Maart 2000
  • Laatst online: 09-02 08:56
Ik probeerde een POST te reproduceren met een GET (weet ik nu), dit is gewoon stom van me (dacht een snelle oplossing te hebben aangezien de POST die ik test wat tijd kost). Dmv de GET probeerde ik te checken of de POST data correct werd opgeslagen.

Ga nu toch maar even de daadwerkelijke POST uitvoeren, wie weet werken de scripts om de content te loggen wel naar behoren.. Laat nog wel weten of dat zo is en dan kan deze post op slot.

Nogmaals bedankt voor de feedback.

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 16:55

MueR

Admin Devschuur® & Discord

is niet lief

Wat mij betreft kan hij nu op slot. Niet omdat het opgelost is, dat doen we namelijk niet. Hij gaat op slot omdat dit dermate basic niveau is dat het hier echt geen plek heeft. Als je denkt "even" een POST te simuleren met een GET moet je echt even achter je oren krabben en jezelf afvragen waar je nu helemaal mee bezig bent.

Lees Programming FAQ - Debuggen: hoe doe ik dat? nog eens door.

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1

Dit topic is gesloten.