/
Forside
/
Teknologi
/
Udvikling
/
Perl
/
Nyhedsindlæg
Login
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Stil et spørgsmål
Skriv et tip
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Perl
#
Navn
Point
1
bjarneA
141
2
poul_from
50
3
soccer
30
4
Nicknack
14
5
Tmpj
0
parametre som argument??
Fra :
John Doe
Dato :
13-02-01 18:02
Jeg har et script som på et tidspunkt overfører nogle parametre i adressen
efter test.cgi? men de overførte parametre bliver ikke brugt i scriptet
igen. Lad mig give eksempler fra scriptet:
#!/usr/local/bin/perl
require 'subs.cgi'; #indeholder subrutiner
print "Content-type: text/html\n\n";
$q = $ENV{'QUERY_STRING'};
$| = 1;
&get_input; #modtager input og placerer dem i hash $IN{'keys'}
if (($ENV{'CONTENT_LENGTH'} eq "") || ($IN{'action'} eq 'login')){
&print_login; #viser login screen
}elsif($IN{'action'} eq 'let_in'){
&login; #logger brugeren ind og udfører nogle subrutiner, opretter 2
frame
}elsif($IN{'action'} eq 'show'){
&print_userinfo;
}elsif($IN{'action'} eq 'submit'){
&user_submit; #nogle <input> felter hvor brugeren indtaster nogle data
som skal vises i den anden frame
}
exit;
det er meningen at når man skriver test.cgi eller test.cgi?action=login skal
login skærmen vises. Det virker uden problem. I login skærmen hentes bruger
navn og "action" som er "let_in". Altså:
<FORM ACTION=test.cgi METHOD=POST>
<b>Bruger Navn</b> <INPUT TYPE=TEXT SIZE=16 NAME="bruger">
<INPUT TYPE=HIDDEN NAME="action" VALUE="let_in">
dette virker også. Når scriptet modtager ($IN{'action'} eq "let_in") laver
det to frame bestående af "userinfo" og "user submit". en af framene ser
sådan ud:
<frame name="submit" src="test.cgi?action=submit&bruger=$IN{'bruger'}">
der åbnes 2 frames, men istedet for at behandle action=submit og
bruger=$IN{'bruger'} kommer der login screen. Det ser ud til at være at
scriptet ikke modtager "test.cgi?action=submit&bruger=$IN{'bruger'}", men
behandler det som "$ENV{'CONTENT_LENGTH'} eq "". Hvad er det jeg gør
forkert??
Søg
Alle emner
Teknologi
Udvikling
Perl
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177821
Tips :
31980
Nyheder :
719565
Indlæg :
6410979
Brugere :
218912
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2026 kandu.dk. Alle rettigheder forbeholdes.