Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 04-06-2004, 08:16
Harrie
Avatar van Harrie
Harrie is offline
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?
Met citaat reageren
Advertentie
Oud 04-06-2004, 08:17
Verwijderd
Internal Server Error komt vaak door htacces.s.

EN werkt $_POST niet ofzo?
Met citaat reageren
Oud 04-06-2004, 08:32
Harrie
Avatar van Harrie
Harrie is offline
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.
Met citaat reageren
Oud 04-06-2004, 08:36
Verwijderd
Citaat:
********** schreef op 04-06-2004 @ 09:17 :
EN werkt $_POST niet ofzo?
Nee. Perl is iets geavanceerder dan PHP hoor
Met citaat reageren
Oud 04-06-2004, 08:37
Verwijderd
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.
Met citaat reageren
Oud 04-06-2004, 11:42
Harrie
Avatar van Harrie
Harrie is offline
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
Met citaat reageren
Oud 04-06-2004, 11:51
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
eddie schreef op 04-06-2004 @ 09:36 :
Nee. Perl is iets geavanceerder dan PHP hoor
Volgens mij valt dat best mee, alleen zijn dit soort dingetjes die in PHP heel simpel zijn gemaakt in Perl iets lastiger.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 11:10.