Løbeseddel 3: Programmering med PHP4

for Databasestøttet Webpublicering

  sidst rettet 11. september, 2002


I denne øvelse vil du blive introduceret til nye begreber i PHP-syntaksen, nemlig løkke og variabelsæt (loop og array)

Husk du kan køre ethvert PHP-program i din egen mappe på ITCs hjemmeside H:\public_html.

Ved gradueringen lægges der bl.a. vægt på:

Opgave A (20 procent) - PHP-programmering

  1. Konstruer et program i en fil som du benævner while.php. Filen skal resultere i en HTML-kode som den nedenfor skitserede:
    <html>
    <[header, title og alt hvad der hører sig til]> <body> 3<br> 6<br> 9<br> 12<br> 15<br> 18<br> 21<br> 24<br> 27<br> Efter løkken er $i = 30 [sluttags]
    Programmet skal konstrueres ved hjælp af en while løkke, hvor variablen i anvendes som tæller. Du kan f.eks. anvende følgende skabelon:
    [noget HTML]
    <?
    
    while ( ........ ) {
      echo $i;
      ...
    }
    echo "Efter løkken er i = $i"
    ?>
    [noget mere HTML]
    
    Kopier besvarelsen til din /W2/oevelse3-mappe som while.php.

  2. Lav et program i filen ugedag.php, som indeholder en function ugedag(), som tager et heltal dg som argument og returnerer den ugedag som svarer til dg. Tabellen
    dg returværdi
    1 Mandag
    2 Tirsdag
    3 Onsdag
    4 Torsdag
    5 Fredag
    6 Lørdag
    7 Søndag
    alle andre tal Ukendt dag
    angiver hvilke ugedage dg svarer til. Hvis dg er mindre end 1 eller større end 7, returneres "Ukendt dag". Skriv også kaldet til funktionen i samme fil.
    Du kan anvende følgende skabelon (tilføj de korrekte indrykninger):

        function ugedag ( dg ) { <
    switch ($dg) {
    case 1 :
    echo "Mandag";
    break;

    .............
    .............
    .............
    .............
    .............

    default:



    }



    Kopier besvarelsen til H:\public_html/W2/oevelse3/ som ugedag.php

Opgave B (10 procent) - Multiplikationstabel

Skriv en function multabel() som ved at modtage en talværdi udskriver en multiplikationstabel for dette tal. Skriv også kaldet til funktionen i samme fil. Benævn filen multabel.php.

Ex. I browseren skal der udskrives denne tabel efter at du har sendt tallet 3 til filen

0 gange 3 er 0
1 gange 3 er 3
2 gange 3 er 6
3 gange 3 er 9
4 gange 3 er 12
5 gange 3 er 15
6 gange 3 er 18
7 gange 3 er 21
8 gange 3 er 24
9 gange 3 er 27
10 gange 3 er 30
Kopier besvarelsen til H:\public_html/W2/oevelse3/ som multabel.php.

Opgave C (10 procent) - Omvendt multiplikationstabel

Tilret løsningen til Opgave B således at multipliktionstabellen udskrives i omvendt rækkefølge:
10 gange 3 er 30
9 gange 3 er 27
8 gange 3 er 24
7 gange 3 er 21
6 gange 3 er 18
5 gange 3 er 15
4 gange 3 er 12
3 gange 3 er 9
2 gange 3 er 6
1 gange 3 er 3
0 gange 3 er 0
 
Kopier besvarelsen til H:\public_html/W2/oevelse3/ som multabel2.php.

Opgave D (20 procent) - Hjemmeside-generering

I denne opgave skal du skrive en function homepage(), som kan generere og udskrive en standard HTML-hjemmeside. Funktionen skal modtage et array med to værdier i, et navn og en emailadresse. Arrayets værdier skal indgå i den genererede hjemmeside. Du bestemmer selv det præcise layout af siden, men den skal naturligvis indeholde:

- header med Titel-felt der bl.a. indholder navnet der er sendt til funktionen.
- body med overskrift, forklarende tekst og mailadressen der er sendt til funktionen.

Kopier besvarelsen til H:public_html/W2/oevelse3/ som hjemmeside.php.

Hint: Du bør udforme siden således, at hvis man bogmærker den i browseren, vil man få et sigende navn som bogmærke. Du bør også sikre, at man kan linke tilbage til din indeks-side.

Opgave E (40 procent) - Regnemaskine i HTML

I denne opgave skal du tilrette løsningen til Opgave B således at en bruger fra en formular i sin browser kan vælge hvorvidt hun ønsker at få multipliceret eller divideret to tal hun indsætter i formularen.
Du skal fremstille:
1) PHP-script som modtager tre værdier - to tal og en værdi som angiver brugerens valg. Anvend HTTP_GET_VARS eller HTTP_POST_VARS (se "Beginning PHP4" s.182). I scriptet skal findes to funktioner - et for hver regneart - som beregner resultatet og præsenterer det for brugeren. Overvej hvordan du vil validere brugerens indtastninger (se evt "Beginning PHP4" s.140). Husk link tilbage for ny indtastning.

Gem filen som H:\public_html/W2/oevelse3/ calculator.php

2) Et HTML-dokument med en formular hvorfra brugerens valg skal sendes. Formularen skal give brugeren mulighed for at indsætte to tal og at vælge regneart i en SELECT-box. Formularen skal kalde ovenstående PHP-fil.
Gem HTML-filen som H:\public_html/W2/oevelse3/ calculator.html

Opgave F - Ekstra

Udvid applikationen til at kunne håndtere alle fire regnearter. Anvend switch-syntaksen.


mael@it.edu, nh@it.edu