Bygg en multisida och testa arrayer

By . Latest revision .

Låt oss använda PHP för att skapa mer dynamiska sidor. I denna uppgift handlar det om enklare PHP-konstruktioner som if, switch, array och include för att skapa multisidor, en sida med många undersidor och en aside-meny att navigera mellan sidorna.

#Förkunskaper

Du har jobbat igenom artikeln “Bygg en multisida med PHP”.

#Introduktion

Du skall göra en multisida likt den som visats i artikeln ovan.

Börja med att ta en kopia från exempelkoden som följer med artikeln.

# Ställ dig i rooten av kursrepot
cp -ri example/multipage/* me/kmom03/multi/

Nu har du din bas du kan utgå ifrån. Spara alla dina filer i katalogen me/kmom03/multi.

#Krav

  1. Implementera multisidan med en switch-case-sats.

  2. Multisidan skall ha en default-sida som visas om ?page inte finns eller om page saknar ett värde.

  3. Använd ternary operator för att hantera $_GET['page'].

  4. Skriv säker PHP-kod och validera inkommande $_GET, innan du använder dem eller skriver ut dem.

  5. Se till att din kod är DRY.

  6. Gör så att menyvalet i menyn blir aktivt, visa en annorlunda stil för den undersida som är vald.

  7. Bygg ut undersidan som skriver ut innehållet i arrayen $_SERVER. Lägg till så att den även anger antalet värden som finns i arrayen $_SERVER. Till exempel “There are XX entries in the array.”.

  8. Skapa en ny undersida som innehåller följande. Skriv en foreach() loop som räknar ut längden på varje värde i arrayen $_SERVER. För varje nyckel i arrayen, skall du ta värdet och räkna ut längden av det med strlen(). Skriv ut nyckeln (key), följt av längden (strlen()) på dess värde (value). Avsluta med att skriva ut själva innehållet i den key/value som “är längst”.

  9. Validera och publicera din kod enligt följande.

# Ställ dig i kurskatalogen
dbwebb publish multi

Rätta eventuella fel som dyker upp och publicera igen. När det ser grönt ut så är du klar.

#Extrauppgift

  • Bygg fler multisidor och gör fler egna tester.

  • Om du anger en felaktig referens på ?page= så skicka en header för http-koden 404. Tips om 404-header.

  • Kommentera bort din switch-sats och lös det med en array och en if-sats (överkurs).

#Tips från coachen

Validera och publicera ofta. Så slipper du en massa validerings- och publiceringsfel i slutet av övningen.

När du gör publish så körs även validate. Blir det för mycket fel när du kör publish så kan det bli enklare att bara göra validate till att börja med.

Lycka till och hojta till i forumet om du behöver hjälp!

#Revision history

  • 2015-09-09: (C, mos) Förtydligade krav om att undersida som visar detaljer om `$_SERVER`.
  • 2015-08-24: (B, mos) Bort med uppgift om styling, flyttad till me-sidans uppgift.
  • 2015-05-20: (A, mos) Första utgåvan i samband med kursen htmlphp v2.

Document source.

Category: webbprogrammering.