Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [Perl] Variabelen uit een formulier lezen (https://forum.scholieren.com/showthread.php?t=859955)

Harrie 04-06-2004 08:16

[perl] variablen uit formulier?
 
hallo,

ik moet voor 12 uur een perl script afkrijgen, maar nu is mijn probleem, ik kan de variabelen niet uit het formulier krijgen.

ik heb zoiets:

#!/usr/bin/perl
use CGI qw(:standard:);
my $cgiquery = new CGI;
my $action = $cgiquery->param('Action');
print "Content-type: text/html\n\n";
print "$type\n";



en als dit dan ontvanger.pl is, en het formulier naar deze page gaat met een "get", en het type bijvoorbeeld 2 is, gaat dit dan goed?

ik krijg ook een melding Internal Server Error, terwijl de plaats goed staat, het script geen foutmeldingen geeft en de rechten goed staan. hoe kan dit?

Triloxigen 04-06-2004 08:17

Internal Server Error komt vaak door htacces.s.

EN werkt $_POST niet ofzo? :P

Harrie 04-06-2004 08:32

het is de server op school, ik zelf heb er geen htaccess opgezet dus ik neem aan dat zij het ook niet gedaan hebben.

Ik kan het wel in de shell uitvoeren maar zo gauw het in de browser gaat, is het mis. En ik heb wel werkende pl scripts gezien op de server, dus daar ligt het ook niet aan.

eddie 04-06-2004 08:36

Citaat:

********** schreef op 04-06-2004 @ 09:17 :
EN werkt $_POST niet ofzo? :P
Nee. Perl is iets geavanceerder dan PHP hoor :p

eddie 04-06-2004 08:37

Citaat:

Harrie schreef op 04-06-2004 @ 09:16 :
hallo,

ik moet voor 12 uur een perl script afkrijgen, maar nu is mijn probleem, ik kan de variabelen niet uit het formulier krijgen.

ik heb zoiets:

#!/usr/bin/perl
use CGI qw(:standard:);
my $cgiquery = new CGI;
my $action = $cgiquery->param('Action');
print "Content-type: text/html\n\n";
print "$type\n";



en als dit dan ontvanger.pl is, en het formulier naar deze page gaat met een "get", en het type bijvoorbeeld 2 is, gaat dit dan goed?

ik krijg ook een melding Internal Server Error, terwijl de plaats goed staat, het script geen foutmeldingen geeft en de rechten goed staan. hoe kan dit?

Ik heb geen ervaring met CGI, maar er zwerft ergens een cgi-lib.pl rond. Even googlen en dan kun je deze gewoon gebruiken.

Harrie 04-06-2004 11:42

Het is nog redelijk complex, maar voor degene die het wil weten:

$my_data = $ENV{'QUERY_STRING'};
@name_value_array = split(/&/, $my_data);
foreach $name_value_pair (@name_value_array) {
($name, $value) = split(/=/, $name_value_pair);
$name =~ tr/+/ /;
$value =~ tr/+/ /;
$name =~ s/%(..)/pack("C",hex($1))/eg;
$value =~ s/%(..)/pack("C",hex($1))/eg;
if($form_data{$name})
{ $form_data{$name} .= "\t$value";
}
else
{ $form_data{$name} = $value;
}
}

zo komt het in een hash table.


Die error 500 kwam doordat de windows perl editor andere dingen aan het einde toevoegde dan een unix machine. Dmv dos2unix was dit opgelost.

bedankt voor alle hulp

Manuzhai 04-06-2004 11:51

Citaat:

eddie schreef op 04-06-2004 @ 09:36 :
Nee. Perl is iets geavanceerder dan PHP hoor :p
Volgens mij valt dat best mee, alleen zijn dit soort dingetjes die in PHP heel simpel zijn gemaakt in Perl iets lastiger.


Alle tijden zijn GMT +1. Het is nu 16:49.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.