Forberedelse
- Læs/genlæs kapitel 18 Databehandling i formularer
- Læs kapitel 19. Videre med PHP
Formål
- Arbejde med funktioner i formularer
Fælles gennemgang
Fra sidst
- Repetition: Forklar ud fra nedenstående, hvad en funktion er for noget

– Forklar ud fra nedenstående, hvad en funktion er for noget

- Hvorfor er funktioner så fantastiske
- Hvilke krav kan vi stille til en funktion
- Forklar forskellen på sekventiel og indeks-sekventiel kode ud fra figuren her

- Forklar, hvordan man laver en funktion med og uden returværdi i PHP

Lektien til denne gang
- Snak lidt om begreber som include(), AJAX, cookies i en god sags tjeneste og OOP
Øvelser
30.1 En lommeregner
- Jeg har fundet noget kide til dig på https://www.phptpoint.com/multiple-submit-buttons-php-different-actions/, og jeg har kopieret koden over i en .txt fil til download. Kopier koden ind et .php dokument i VS Code
- Sæt koden pænt op med indrykning o.lign. i VS Code. Ellers finde du aldrig hoved eller hale i koden 🙂
- Prøv koden af. Hvad kan den
- Lav en ekstra knap til division
- Lav en ekstra knap, så at du kan lave kvadratroden af et tal. Tip: Kvadratrod hedder “squareroot” på engelsk, så prøv at søg på PHP squareroot
- Skriv kode, så brugeren får en fejlmeddelelse, hvis indtastningsfeltet enten er tomt eller ikke er et tal
30.2 Prøv inquire() af
- Meget enkelt øvelse:
- Tag udgangspunkt i din lommeregner fra før
- Du skal nu anbringe alt din PHP kode i en fil for sig
- Få lommeregneren til at virke lige som før
- Indsæt igen en knap til udregning af kvadratrod
- Vovet: Sæt en knap ind, der kan udregne kvadratet, dvs. x2, f.eks. 3 x 3
Tip: Udkommenter din PHP kode i stedet for at slette den i den fil, du starter med. Så kan du vende tilbage, hvis noget går galt. I det hele taget: Hav “ulyst” til at slette kode, udkommatér i stedet for.
30.3 De små tabeller
Jeg har skrevet en kode, der kan vise fra 1-tabellen til og med 3-tabellen. Kopier koden ind i et PHP dokument. Når du undersøger koden: Sæt kommentarer ind i koden, så du har kommentarerne til en anden gang
- Undersøg koden extract($_POST);. Det er en måde at modtage data fra formularen på, men hvad gør den helt præcist
- Hvorfor er denne metode kun velegnet, når vi ingen indtastningsfelter har – eller ingen sikkerhedsrisici har
- Hvordan ved koden, hvilken tabel, den skal vise. Der er jo pludselig 3 “submit” knapper
- Hvordan gør koden for at lave tabellerne
Ændr i koden
- Lav knapper og tilhørende kode, så alle tabeller til og med 10-tabellen
Funktioner
- Vi har efterhånden ret meget kode, så lad os rationalisere det lidt. I stedet for 10 for-loops, så lav en funktion som bliver kaldt fra de enkelte knapper. Funktionen kan f.eks. hedde lav_tabel($tal);
- Tip: Du er nødt til at sende et tal med til funktionen, men du behøves ikke at få noget retur. Funktionen skal bare kunne lave for-loopet
30.4 AJAX, cookies og OOP
- Læs om AJAX i teorien og prøv at forklar kort, hvad det går ud på
- Hvis du kan finde eksempler på AJAX, er det fantastisk
- Hvordan kan vi kode en cookie (tag et skærmdump og forklar koden)
- Hvad er OOP og hvad kan vi bruge det til
30.5 Cookies som vagthund
- Indsæt nedenstående kode i 2 forskellige PHP filer. Filerne skal ligge i den samme mappe i din filstruktur, ellers kommer det ikke til at virke
- Prøv dem af, men start med filen “formular-til-password”
- Hvordan virker de. Skriv dine kommentarer inde i koden
- Ændr koden, så du i stedet for Informatik som password bruger “AGFerBedst”, eller hvad du nu finder på
- Ændr advarselsteksten i den pop-op besked, som du får
- Hvorfor tror du, at jeg pludselig går over til javaScript
- Ekstra: Lav siderne pæne med CSS