Fagets Informationsteknologi – IT som værktøj

 

Lektion 10

 

I denne forelæsningsgang skal vi arbejde lidt videre med programmering i JavaScript og vi kigger på server programmeringssproget PHP.

 

Jeg vil lave en opsummering af hvilke IT systemer vi har kigget på i kurset og jeg vil sige noget om hvad fremtidens IT måske kan byde på.

 

Slides til forelæsningerne findes her og her.

 

Litteratur

Jeg kan anbefale web-stedet JavaScript Source til dem der gerne vil lære mere om JavaScript. Dette web-sted har masser af kode eksempler som kan kopieres direkte ind i dine egne HTML sider. Klik på emnet du er interesseret i, f.eks. calculators. Skrol ned af siden til du finder en der interesserer dig og klik på View Source linket.

 

Hæftet ”Start på PHP” af Thomas G. Kristensen, udgivet af forlaget IDG, ISBN 87-7843-408-4 giver en god introduktion til PHP.

 

Bogen ”PHP-bogen”, af Henrik Idoff Hornhaver, udgivet af Ingeniøren/bøger A/S, ISBN 87-571-2409-4 giver en mere fyldig indføring i PHP og især hvordan PHP scripts kan bruges til at forbinde MySQL databaser til web sider.

 

Der findes en kort on-line tutorial om PHP på web-stedet PHP Tutorial og en længere på http://www.php.net/tut.php

 

Opgaver og øvelser

 

Opgave 1

 

Lav et HMTL dokument med følgende kode:

 

<HTML>

 
<HEAD>

 
<SCRIPT LANGUAGE=JAVASCRIPT>

 
now=new Date()

 
dayName = new Array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")

 
monthName = new Array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")

 


 
</SCRIPT>

 


 
<TITLE>Dynamic Date Display</TITLE>

 
</HEAD>

 


 
<BODY>

 
<SCRIPT LANGUAGE=JAVASCRIPT>

 
document.write("<H1>Today is " + dayName[now.getDay()] + " " +  monthName[now.getMonth()] + " " +

 
        now.getDate() + ",  " + now.getFullYear() + "</H1>")

 
</SCRIPT>

 
</BODY>

 
</HTML>

 

Gem dokument I en fil og kig på med din browser.

 

Før </SCRIPT> i headeren indsæt følgende kode:

 

function isEven (number) {

 
        if (number%2 == 0)

 
               return true

 


 
        else

 
               return false

 
}

 


 
hitCount = document.cookie

 
hitCount++

 
document.cookie = hitCount

 

og før </SCRIP> i <BODY> delen indsættes følgende kode:

 

document.write("<H2>You have visited this page " + hitCount + " times.</H2><BR>")

 


 
if (isEven (hitCount) ) {

 
        document.write("You have visited this page an even number of times.<BR><BR>")

 
        }

 
        else {

 
        document.write("You have visited this page an odd number of times.<BR><BR>")

 
}

 

Gem dokumentet og kig på det I din browser. Prøv at lave ”refresh” nogle gange og se hvad der sker. Forklar hvad der sker.

 

Opgave 2

 

Brug nedenstående tabel til at lave et JavaScript program der kan oversætte et årstal til romertal.

Lav programmet som en funktion der tager et årstal og returnerer en tekststreng.

 

Romer tal

Arabisk tal

I

1

V

5

X

10

C

100

D

500

M

1000

 

Lav en HTML side som bruger JavaScripts Date() funktion til at aflæse dags dato.

Brug romertalsfunktionen til at udskrive årstallet i romertal.

 

Opgave 3

 

Lav en HTML fil (test.php) med følgende PHP kommandoer:

 

<html>

<head>

<title>PHP Test</title>

</head>

<body>

<?php echo "Hello World<p>"; ?>

</body></html>

 

Gem den i dit pub_html directory på dolomit.

Brug din web browser til at se dokumentet (http://www.but.auc.dk/~DITBRUGERNAVN/test.php)

Kig på dokumentets kildekode vha. View-Source. Forklar hvad du ser.

 

Opgave 4

 

Lav en HTML fil (count.php) med følgende PHP kommandoer:

 

<HMTL>

<HEAD>

<TITLE>

Visitor count example

</TITLE>

</HEAD>

<BODY>

 

<?php

   $visitors = 0;  // Initialize the visitors to zero

   $fr = fopen('counter.txt', 'r');

if(!$fr) {

      $visitors = 1;         // Our first visitor

      $fr = fopen('counter.txt','w');

      if(!$fr) {

         echo "Could not create the counter file!";

         exit;

      }

      fputs($fr, $visitors);

      fclose($fr);

 

} else {

      $visitors = fgets($fr,4096);

 

      $visitors++;

      echo "You are visitor number: $visitors";

 

fclose($fr);

      $fr = fopen('counter.txt','w');

      if(!$fr) {

         echo "Could not re-create the counter file!";

         exit;

      }

      fputs($fr, $visitors);

      fclose($fr);

   }

?>

 

</BODY>

</HTML>

 

Gem den i dit pub_html directory på dolomit.

Lav dernæst en fil counter.txt som indeholder tallet 0 og gem den.

Brug Unix kommandoen chmod go+w counter.txt til at ændre permissions på filen.

(Forklar hvad chmod gør og hvorfor det er nødvendigt)

Brug din web browser til at se dokumentet (http://www.but.auc.dk/~DITBRUGERNAVN/test.php)

 

Opgave 5 (miniprojekt)

 

Modificer ovenstående PHP kode og koden fra opgave 4 i lektion 9 til at lave en gæste bog hvor bruger af din web side kan registrere at de har besøgt den.

Overvej hvordan man kunne bruge en database i stedet for en fil til at løse denne opgave.

 

Opgave 6

 

Send en email til bt@cs.auc.dk med dine kommentarer til kurset.