/
Forside
/
Teknologi
/
Udvikling
/
Perl
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
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 :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408925
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.