Avatar billede partyg Nybegynder
17. august 2001 - 10:57 Der er 8 kommentarer og
1 løsning

gæstebog

Hvad er der galt her, den sætter ikke tingene ind på den pågældende side!

#!/usr/bin/perl
# std gæstebog



###############  Overordnede variabler ####################


# Relatv sti fra script til gbog.pl skal kun ændres, hvis du flytter gbog.pl eller gbog.html
$gbog = \"diskoteker.htm\";


# URL til takke side - hvis den eftlades uændret stilles skribenter tilbage til gæstebogen ...
$takkeside = \"diskoteker.htm\";



###############  Kald af Subrutiner    ####################

&RYD_OP;
&SKRIV;
&TAK;

###########  Modtag sorter og check input #################

sub RYD_OP {
   
    read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
    @pairs = split(/&/, $buffer);
    foreach $pair (@pairs) {
        ($name, $value) = split(/=/, $pair);
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;
        $FORM{$name} = $value; #Efter denne linje er $FORM{\'feltnavn\'} = indtastet værdi i feltet \"feltnavn\"
    }

   
    # Gør indkomne data nemmere at arbejde med
   
    $overskrift = \"$FORM{\'overskrift\'}\" ;
    $email      = \"$FORM{\'email\'}\" ;
    $navn      = \"$FORM{\'navn\'}\" ;
    $tekst      = \"$FORM{\'tekst\'}\" ;
   
   
    # check af eventuel email adresse
   
    if ($email) {
        unless($FORM{\'email\'} =~ /^[^\\@]+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$/) {
       
        print (\"Content-type: text/html\\n\\n\");   
        print \"Fejl i email adresse. Prøv igen<BR><BR>Brug browserens tilbageknap ...\";
       
        exit;
        }   
    }
   
   
    # Drab på html-koder og tegn, der kan forstyrre gbog.pl
   
    $tekst =~ s/\\\"/\\\"\\;/g;
    $tekst =~ s/\\\'/\\&\\#39/g;
    $tekst =~ s/\\[/\\<\\;/g;
    $tekst =~ s/\\]/\\>\\;/g;
    $tekst =~ s/\\n/<br>/g;
   
   
    # checker om de tre krævede felter er udfyldt
   
    if ((!$overskrift) || (!$navn) || (!$tekst)) {
       
        &MANGLER_INDTASTNING;
       
    }
   
   
   
   
}




############### Skriv nyt indlæg i $gbog ##################

sub SKRIV {

    open (GL_BOG, \"$gbog\") ;
    @indhold = <GL_BOG>;
    close(GL_BOG);
   
        $kontrol = \"Q\" ;
    open (NY_BOG, \">$gbog\") || &FEJL;
   

       
    foreach $linje (@indhold) {
            if ($linje =~ /<!-- nyt indlæg -->/){
                print NY_BOG \"<!-- nyt indlæg -->\\n\";
                print NY_BOG \"<h4>$overskrift<br><br></h4>\\n\";
                if ($email){
               
                print NY_BOG \"<A href=\\\"mailto:$email\\\">$navn</A>\' diskoteks forslag er: <br><br>\\n\";
                     
                }
               
                else {
                   
                    print NY_BOG \"$navn \' diskoteks forslag er: <br><br>\\n\";
                   
                }
               
                print NY_BOG \"$tekst<br><hr noshade>\\n\";
               
            }
           
            else {
                print NY_BOG \"$linje\";
            }
               
               
   
    }
    close(NY_BOG);

   
}

################ Send bruger til $takkeside ###############



sub TAK {
   
    print \"Location: $takkeside\\n\\n\";
   
   
}


######### Fejlmeddelelse ved forkert indtastning ##########


sub MANGLER_INDTASTNING {
   
    print (\"Content-type: text/html\\n\\n\");
    print \"<BR><BR>\";
    print \"Du mangler at udfylde et eller flere af følgende felter:<br>\";
    print \"diskoteks navn, navn eller Vurdering<BR><BR>\";
    print \" - klik på browserens \'tilbage\'-knap og prøv igen\";
    exit;
}


################ Generel fejl-meddelelse ##################

sub FEJL {
   
    print (\"Content-type: text/html\\n\\n\");
    print \"Fejl - desværre  ... Prøv tilbage knappen ! <br>Hvis denne fejl fortsætter kontakt mig venligst på <a href=mailto:mnv@sol.dk>mnv@sol.dk</a>.\";
    exit;   
}

Avatar billede erikjacobsen Ekspert
17. august 2001 - 10:59 #1
Har din webserver skriveafgang til $gbog = \"diskoteker.htm\"; 
Avatar billede partyg Nybegynder
17. august 2001 - 11:51 #2
Det tror jeg nok, den ligger på www.friserverplads.dk
Avatar billede partyg Nybegynder
17. august 2001 - 11:56 #3
Jerg har skrevet til webmaster og jeg håber han kigger på det!
Avatar billede erikjacobsen Ekspert
17. august 2001 - 12:00 #4
Hvis du ikke har gjort noget har webserveren ikke lov til at skrive
Avatar billede partyg Nybegynder
17. august 2001 - 12:44 #5
Hvad skal jeg så gøre???
Avatar billede erikjacobsen Ekspert
17. august 2001 - 13:30 #6
Nu kan jeg ikke se noget på deres side (friserverplads)
med min browser, så jeg kan ikke selv gøre det, men det
står garanteret et sted...
Avatar billede breum Nybegynder
19. august 2001 - 11:57 #7
Har du husket at uploade filerne som ASCII/ASC og at chmode scriptet 755 og diskoteker.htm 777?

Så burde det virke
Avatar billede partyg Nybegynder
20. august 2001 - 09:54 #8
Under friserverplads\' FAQ, står der:

Q: Hvordan Chmod\'er jeg mine filer?
A:  På Friserverplads.dk kører vi med en Windows server og dvs. at derfor behøves man ikke at Chmod filerne.

Burde det så ikke virke!
Avatar billede davidnielsen Nybegynder
04. september 2001 - 13:14 #9
prøv at give den FULDE adresse til serveren f.eks:

$gbog = \"E:\\\\Webs\\\\friserverplads.dk\\\\partyg\\\\diskoteker.htm\";

kun er skrive \\\\ og ikke \\ når du skriver windows bibloteker
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