Avatar billede mikkels Nybegynder
18. oktober 2003 - 12:18 Der er 2 kommentarer og
1 løsning

Vrøvl med variabler fra forms

Hej
Jeg har nedenstående kode fra Webcafe.dk men kan ikke få det til at virke. Dvs når jeg kalder siden med: index.pl?navn=mik&farve=red  så bruger den ikke de medsendte variabler. (Fx  $IND{'navn'}  )
Nogen der kan hjælpe?
/Mikkel



#!C:\perl\bin\perl.exe

# Input modtages og behandles
# vha. subrutinen "opdel_i_par"
&opdel_i_par;
print $ENV{'QUERY_STRING'};
# Browseren får fortalt af der kommer HTML
print "Content-type: text/html\n\n";
$te = 'mikkkkkk';
print $vaerdi;
# Den indledende del af HTML
print "<HTML>";
print " <HEAD>";
print "  <TITLE>Navn og farve</TITLE>";
print " </HEAD>";

# Baggrundsfarve sættes til den valgte farve
print " <BODY BGCOLOR=$IND{'farve'} TEXT='black'>";

# Vi siger hej til personen
print "  <H1>Hej $IND{'navn'}</H1>";

# Afsluttende HTML
print " </BODY>";
print "</HTML>";

# Scriptet afsluttes
exit;

# Herunder subrutinen
sub opdel_i_par {

  # Læs fra standard input til strengen $input
  read(STDIN, $input,$ENV{'CONTENT_LENGTH'});

  # Adskil de enkelte form/indhold-par
  @allepar = split(/&/, $input);

  # Kør igennem for hvert par
  foreach $par (@allepar) {

    # Split op i $navn og $ vaerdi
    ($navn, $vaerdi) = split(/=/, $par);

    # Lav "+" om til " " i $navn
    $navn =~ tr/+/ /;

    # Afkod specialtegn i $navn
    $navn =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

    # Lav "+" om til " " i $vaerdi
    $vaerdi =~ tr/+/ /;

    # Afkod specialtegn i $vaerdi
    $vaerdi =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

    # Associer $navn og $vaerdi igennem hashen %IND
    $IND{$navn} = $vaerdi;
  }

} # sub opdel_i_par
Avatar billede breum Nybegynder
19. oktober 2003 - 12:14 #1
Kunne du lige vise den html side du bruger til at sende til index.pl
Avatar billede mikkels Nybegynder
19. oktober 2003 - 17:01 #2
Jeps - her er koden fra den side der sendes fra:

<FORM action="index.pl" method="GET">
  <p><strong>Navn:</strong> <input TYPE="text" NAME="navn" size="20"></p>
      <p><strong>Farve:</strong>
      <select name="farve" size="1">
        <option value="red">Rød</option>
        <option value="white">Hvid</option>
        <option value="green">Grøn</option>
        <option value="yellow">Gul</option>
      </select></p>
      <p><input TYPE="submit" value="Indsend"> </p>
    </form>
Avatar billede mikkels Nybegynder
19. oktober 2003 - 20:07 #3
Har selv fundet fejlen - dataen skulle sendes som POST istedet for GET...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester