Litteratur: Webprogrammering med PHP - Intro
Opgaver:
- Lav et diagram der viser det overordnede data flow mellem klient og server for en PHP side.
- Beskriv helt generelt med dine egne ord hvad en query variabel er, og hvad den bruges til.
- Find andre eksempler på webapplikationer, der benytter query variable.
Givet er følgende: http://skyen.iftek.dk/~jakob/blog/tag.php?id=1
- Hvad er URLen?
- Hvad er domænet?
- Hvad er PHP-siden?
- Hvad er query variable og hvad er værdien af den/dem?
- [Råb op når du er nået her til] Opret en ny PHP side tag.php i dit blog-projekt. Siden skal vise værdien af query variablen id.
Opsætning af ShiftEdit (Skriv kode online i din browser i stedet for lokalt)
Webprogrammering: Læsning fra datalaget
Litteratur: Introduktion til PHP, Webprogrammering med PHP - Læsning af data fra databasen
I den følgende opgave antages det, at du har oprettet tags funktionalitet i databasen. Dette var opgave 3 i Sociale medier 2 - Arbejde med data i en database. Hvis du ikke har løst denne opgave endnu, skal du løse den inden de følgende opgaver.
Opgaver:
- Hvordan ser SQL-udtrykket til at hente alle tags fra databasen ud?
- Hvordan ser SQL-udtrykket til at hente et enkelt tag ud?
- Opret et par tags med phpmyadmin. Tjek om dine SQL-udtryk virker.
- Hvad er prepared statements? Forklar humoren bag http://xkcd.com/327/
- Opret en ny PHP side, tags.php der henter samtlige tags fra databasen og viser alle tags id og navn. [hint] det minder om hvordan blog indlæg hentes ud.
- Opret en ny PHP side, tag.php der tager et id som query variabel, henter tagget fra databasen og viser dets navn.
- [svær] Konverter din tags.php side til en HTML side. Hint: din PHP side kan se ud nogenlunde som følger
<html>
<head></head>
<body>
<?php
// print noget ud her med echo funktionen
?>
</body>
</html>
Webprogrammering: Manipulation af data
Litteratur: Webprogrammering med PHP - HTML formularer
Opgaver til HTML-formularer:
- Hvad bruges HTML-formularer til?
- Find eksempler på webapplikationer, der benytter HTML-formularer. Hvilke input-felter bruger den?
- Forklar forskellen mellem en liste af radiobuttons og checkboxes.
- Lav en HTML-formular, der indsamler følgende data: brugerens køn, fødselsdato, adresse, land og om de vil modtage nyhedsbreve. Begrund dine valg af forskellige input-felter.
- Tilføj en HTML-formular til kommentarer i din blog. Din kommentar formular skal tilføjes i HTML skabalonen views/post.html.
- Opret en ny PHP fil new_comment.php i dit projekt der gemmer kommentaren i din database. [hint: tag udgangspunkt i koden i teksten].
- [Svær] Udvid HTML-skabalonen /views/post.html så siden også viser de skrevne kommentarer på siden.
Webprogrammering: Tilstand mellem forespørgsler
Litteratur: Gennemgang af cookies og sessions
Opsummering af opgaver fra teksten:
- Giv andre eksempler end i teksten på hvad cookies kan bruges til?
- Nævn nogle websites du kender, som benytter cookies og hvad de benytter dem til?
- Kategoriser de 5 forskellige brugstyper (logget ind, indkøbskurv, gemme brugernavn, huske personlige indstillinger og tracking) efter hvilken type cookie, der er mest oplagt at benytte til opgaven (persistent eller session)?
Vi repræsenterer en online tøjbutik, og vil gerne henvende os til det køn, der besøger vores website for at vise aktuelle tilbud og nye kollektioner. Hvis brugeren aldrig har besøgt vores hjemmeside før, kender vi ikke kønnet på personen. Hvis brugeren ikke har besøgt os før, bliver vedkommende bedt om at vælge tøj for enten mænd eller kvinder, og dermed kender vi brugerens køn til fremtiden.
Skriv noget PHP kode, der gør følgende:
- En bruger har netop valgt tøj for kvinder. Skriv en cookie, der gemmer hendes køn i et år.
- En bruger er tilbagevendt til vores website. Skriv noget kode, der skriver "Tøjafdelingen for mænd" eller "Tøjafdelingen for kvinder" alt efter hvilket køn, der er gemt i cookien.
- Udvid ovenstående kode med følgende tekst, hvis brugeren aldrig har besøgt vores website før: "Velkommen. Vælg venligst tøjafdeling".
- Eksemplet til at tælle antal visninger i en session (se afsnit om at oprette en session) vil ikke virke, hvis vi ønsker, at tælle antal visninger brugeren har haft i løbet af en uge. Forklar hvordan man kunne lave en tæller til dette?
- I stil med samme eksempel som før skriv noget kode, der i sessionen tjekker, om brugeren er logget ind eller ej i stedet for at tælle antal visninger. Skriv følgende beskeder til brugeren alt efter status: "Du er ikke logget ind" eller "Du er logget ind".