Göm menyn

TDDD52 Webbprogrammering - grundkurs

2014

Laboration 5 - Administrativ verktyg - Betyg 4

1. Syfte

  • Att förstå hur en dynamisk sida kan användas av olika typer av användare.
  • Att förstå hur dynamisk innehåll kan ändras från andra webbplatser.
  • Att bygga en helt ny sida som kan lägga till produkter i databasen.
  • Att modifiera den existerande webbplatsen så att den kan visa godtyckligt många produkter.

2. Genomförande

I föregående laborationer har ni utvecklat en webbplats för ett fiktivt företag där ni presenterar tre av deras produkter. Dock så händer det ju att man vill lägga till nya produkter eller ta bort gamla. Vi skulle kunna göra vissa delar av detta med hjälp av t ex phpMyAdmin, men det är oftast inte önskvärt att ge access till en webbplatsansvarig till hela databasen. Istället ska ni utveckla en administratörspanel så att ni via den kan lägga till och ta bort produkter.

I denna laboration förväntas ni använda den kunskap ni förvärvat i föregående laborationer, samt hantera nya typer av databasförfrågningar. Därför är instruktionerna inte lika tydliga nedan som de tidigare laborationerna.

2.1 Filer

I mappen "lab5" finns det en undermapp "admin". I denna mapp ("admin") finns de filer ni skall använda i denna laboration. Ni skall också kopiera alla filer från "lab4" till mappen "lab5", men kopiera de inte in i mappen "admin".

  • När ni har kopierat alla filer så öppnar ni en terminal och exekverar: cd ~/www-pub/TDDD52/lab5
  • I samma terminalfönster exekverar ni bash -c 'for i in ./*.php; do ln -s "$i" "${i}s"; done;'
  • Återigen i samma terminalfönster exekverar ni bash -c 'for i in ./*/*.php; do ln -s "$i" "${i}s"; done;' (OBS:Denna är annorlunda än ovanstående)
  • admin_data.php - Här ska ni skriva funktioner som hanterar alla typer av databasförfrågningar, endast i denna fil får kommunikation med databasen göras.
  • admin_add.php - Här ska man kunna lägga till produkter.
  • admin_add_form.php - Denna fil tar emot data och returnerar till admin_add.php.
  • admin_remove.php - Här ska man kunna ta bort produkter.
  • admin_remove_form.php - Denna fil tar emot data och returnerar till admin_remove.php.
  • admin_messages.php - Här ska man kunna visa alla meddelanden och även söka efter meddelanden.
  • admin_stylesheet.css - Här placerar ni er CSS kod.
  • admin_validate.js - Här placerar ni er JavaScript kod för validering.
  • Endast givna filer skall användas och inga filnamn får ändras. Inga andra filer får heller skapas. Det enda undantaget är att bilder får läggas till i denna mapp.

3 Administrativt verktyg

3.1 Ny webbplats för administratörer

Skapa en helt ny webbplats för administratörer.

  • Webbplatsen skall kunna lägga till nya produkter i databasen.
  • Webbplatsen skall kunna ta bort produkter i databasen.
  • Webbplatsen skall kunna visa alla meddelanden i databasen.
  • Webbplatsen skall kunna söka efter meddelanden i databasen baserat på epost, namn eller telefonnummer.
  • Det finns inget krav på att man skall kunna "logga in" på sidan. Sessions behöver inte användas.
  • Alla formulär skall valideras på klienten (med samma beteende som i laboration 2) och på servern (med samma beteende som i laboration 3).
  • All HTML och CSS kod skall valideras.
  • Samma krav på layout, innehåll och färger som i föregående laborationer tillämpas även på denna webbplats.
  • Webbplatsen skall använda sig utav CSS på ett sådant sätt att webbplatsen är användbar.
  • Under utvecklandets gång skall Progressive Enhancement användas. Det skall alltså i efterhand vara möjligt att plocka bort JavaScript och CSS men ändå skall webbplatsen fungera som tänkt.

3.2 Webbplats med godtyckligt antal produkter

Gör om er första webbplats så att den kan visa godtyckligt antal produkter.

  • Navigeringen måste vara dynamisk, så att varje ny produkt som läggs till från det administrativa verktyget dyker upp i navigeringen.

4. Redovisning

Inlämning: Mejla till er laborationsassistent när webbplatsen har blivit publicerad till www-pub, den skall finnas tillgänglig på båda studenters konto. I ämnesraden skriver ni "TDDD52 - Laboration 5 - Redovisning". I mejlet skriver ni länken till er publicerade webbplats, era namn, liu-id och epost-adresser.

Muntlig: Laborationsassistenten kan ställa frågor till er angående er inlämning om det är något som kräver förtydligande.

4.1 Deadline

Soft: 2013/02/01

Hard: 2013/03/01

5. Verktyg

För att genomföra laborationen krävs samma verktyg som föregående laborationer.

För att administrera databasen kan ni använda phpMyAdmin.


Sidansvarig: Jakob Bandelin
Senast uppdaterad: 2013-01-03