Laboration 10 & 11: CGI och Perl

 

Förberedelser

För den här laborationen har du fått tilldelat en folder på webservern. Det är i den foldern du ska spara dina filer.

1) Högerklicka "Det här datorn", välj "Anslut nätverksenhet".

2) Välj J: som enhet.

3) Välj "\\Webserver\<ditt namn>" som nätverksnamn. (<ditt namn> är samma namn som på din folder på H:).

4) Kontrollera att din webläsare hittar din katalog genom att skapa en HTML-fil på J:, döp den till "index.html" och mata in den här adressen i Internet Explorer: http://192.168.1.4/<ditt namn>/index.html

5) Installera Perl lokalt på datorn. Installationsprogrammet finns på I:\

 

Länkar

http://www.htmlhelp.com

http://www.cgi101.com

 

Skilj på formulär och CGI-programmet.

Det visade sig att det uppstod viss förvirring angående detta, främst för att jag var otydlig på den här punkten.

När du skapar ett formulär och tillhörande CGI-program skall du skapa 2(!) filer, en HTML-fil och ett perl-program. HTML-filen är den som ska innehålla <FORM> o. dyl. medan perl-programmet skall skriva ut HTML-kod.

Exempel:

Test.html
<HTML>
<BODY>
<FORM METHOD="GET" ACTION="http://192.168.1.4/Uno/Test.pl">
<INPUT TYPE="submit" VALUE="Testa">
</FORM>
</BODY>
</HTML>
Test.pl
#!perl
print("Content-type: text/html\n\n");
print("<HTML> \n");
print("<BODY> \n");
print("Ditt testprogram fungerar \n");
print("</BODY> \n");
print("</HTML> \n");

 

Uppgift 1:

Skriv ett perl-program som skriver ut texten "Hello world".

Anmärkningar:

Detta ska inte göras som ett CGI-program utan ett fristående perl-program. Det betyder att programmet inte behöver skriva ut någon HTML-kod. För att köra programmet, ta fram ett MS-DOS-fönster, gå till J: och skriv "perl Lab11_1.pl".

 

Uppgift 2:

Skriv ett enkelt HTML-formulär som frågar efter ditt namn. Formuläret skall innehålla en textruta och en knapp. Skriv ett tillhörande perl-program som skriver "Hello <ditt namn>" när du trycker på knappen.

Anmärkningar:

Du ska skapa ett HTML-formulär. Det ska bara innehålla HTML-kod och ingen perl-kod alls. Dessutom skall du skriva ett perl-program som ger följande utskrift:

Content-type: text/html

 

<HTML>
<BODY>
Hello Michael
</BODY>
</HTML>

Namnet får du tag på genom att använda koden som finns på sida 33 i papperna du fick på föreläsningen.

ACTION för formuläret skall vara "http://192.168.1.4/<ditt namn>/<ditt program>".

 

Uppgift 3:

Skapa ett HTML-formulär med några textrutor och avbockningsbara rutor. Skapa ett tillhörande perl-program som skriver ut namnen på textrutorna/rutorna och dess värden.

Anmärkningar:

Återigen är det koden på sidan 33 som skall amvändas. Utskriften bör se ut ungefär så här:

Textrutan Hej
Rutan On
Textruta2 Hejsan

 

Uppgift 4:

Skapa ett HTML-formulär som frågar efter ett förnamn och ett efternamn. När du trycker på knappen skall formuläret starta ett perl-program som söker igenom en fil med namn och telefonnummer. För alla namn som stämmer överens med sökningen skall telefonnumret skrivas ut.

Anmärkningar:

Filen med namn skall se ut på följande sätt:

Michael;Lundahl;046-146018
Adam;Bertilsson;012-345678

...o.s.v.

 

Lämplig struktur för perl-programmet:

Skriv ut "Context-type: text/html" "<HTML>" "<BODY>".

Ta reda på vilka namn som matats in i formuläret.

Öppna filen.

Dela upp varje rad du läser från filen och jämför med de inmatade namnen. Om det stämmer överens, skriv ut namn och telefonnummer.

Stäng filen.

Skriv ut "</BODY>" "</HTML>".

 

Ett exempel på hur det kan se ut hittar du på: http://www.df.lth.se/~michael/Telefonsokning.html