[Perl] Script verstuurt geen post-variabelen

Pagina: 1
Acties:

  • Hmail
  • Registratie: April 2003
  • Laatst online: 13:10

Hmail

Doet ook maar wat.

Topicstarter
Ik heb een stukje code geschreven aan de hand van allerlei handleidingen, die een post-variabele moet versturen.
code:
1
2
3
4
5
6
7
8
#!/usr/local/bin/perl
BEGIN { print "Content-type:text/html\n\n"; }
use HTTP::Request::Common;
use CGI::Carp qw(fatalsToBrowser);
use warnings;
use LWP 5.64;
my $browser = LWP::UserAgent->new;
$browser->request(POST, 'http://geensite.nl/refoweb/post.php', ['blaat' => '1234']);

Deze code zou dus naar post.php de variabele 'blaat' met als waarde '1234' moeten versturen.

Echter, het komt niet aan. Als ik het script lokaal debug krijg ik de melding "Syntax OK".
Als ik de waarde via een html-bestand verstuur werkt het wel.
Het script staat in de goeie directory (cgi-bin) en heeft de juiste rechten (755). Toch werkt het niet. Ik krijg een lege pagina, maar in mijn php-bestand komt het niet aan. Dat weet ik omdat het php-bestand een waarde in een database zet als $_POST['blaat'] bestaat.

Heeft iemand enig idee wat ik verkeerd doe?

[ Voor 7% gewijzigd door Hmail op 07-12-2005 16:04 ]

It might sound as if I have no clue what I'm doing, but I actually have a vague idea.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21-04 13:55
Ik zie niet direct iets mis. Krijgt je PHP script de request wel binnen? (Controleer dit in je access.log of door altijd een melding in de database te zetten, ook als die post-var niet wordt meegegeven.)

  • Hmail
  • Registratie: April 2003
  • Laatst online: 13:10

Hmail

Doet ook maar wat.

Topicstarter
PHP script krijgt geen variabelen door. Dus er gaat iets mis, maar ik heb geen idee wat. Als ik
code:
1
print $request->status_line
er bij zet krijg ik de melding "200 OK" terug.
Dus wat er mis gaat.. Geen idee :/

It might sound as if I have no clue what I'm doing, but I actually have a vague idea.


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Geeft het PHP script verdere output? Zonee, voeg dan eens een debugregel toe om te kijken of die in ieder geval wel verschijnt?

Wie trösten wir uns, die Mörder aller Mörder?


  • JaWi
  • Registratie: Maart 2003
  • Laatst online: 14-01 21:58

JaWi

maak het maar stuk hoor...

Kijk eens goed naar wat de UserAgent->request() methode doet (hier bijvoorbeeld);
want de documentatie verteld een heel ander verhaal dan dat jouw code suggereert.

Statistics are like bikinis. What they reveal is suggestive, but what they hide is vital.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21-04 13:55
@JaWi: als je begint bij de documentatie van HTTP::Request::Common module dan zie je direct een gebruiksvoorbeeld staan dat praktisch gelijk is aan de code van Chip!. Ik ben er van overtuigd dat 'ie de module wat dat betreft dus goed gebruikt.

(De code die jij quotete is voor een GET-request, maar het gaat dus om een POST-request.)

edit:
Trouwens, het zou algemene Perl-gaarheid kunnen zijn, maar hoort die komma daar wel, direct achter POST in de code? Ik zie die in de documentatie nergens terugkomen en voor zover ik weet is het scheiden van argumenten door komma's in Perl wél verplicht. (M.a.w. request(POST 'foo') is iets anders dan request(POST, 'foo'); die POST 'foo' is zelf een functieaanroep van de functie POST met als argument foo).

[ Voor 47% gewijzigd door Soultaker op 08-12-2005 11:57 ]


  • Hmail
  • Registratie: April 2003
  • Laatst online: 13:10

Hmail

Doet ook maar wat.

Topicstarter
8)7

Idd, die komma had er niet moeten staan :)
Tssk, zo'n klein foutje, dat er dan niet even een error message kan verschijnen 8)7

Nahja, Thanks Soultaker, het werkt perfect \o/

It might sound as if I have no clue what I'm doing, but I actually have a vague idea.

Pagina: 1