Projektbeskrivning, Programmering för webben, vt 2013

Relevanta dokument
Om include-filer i PHP

ÖvningsProv Internet att skapa hemsidor vt-2006 Webbsideskapande

GUIDE FÖR RECENSIONSVERKTYGET

Labora&on 8 Formulär övningar/uppgi6er

Labora&on 7 Syfte med laborationen:

Skapa en kursvärdering

Labora&on 8 Syfte med laborationen:

Manual till Möbelfaktas e-deklaration

Tidigare använde vi oss av en sidtyp som hette formulär. Dessa finns kvar och kommer att fungera men har en del begränsningar i funktionalitet.

Dreamweaver för nybörjare

Användarbeskrivning för T99 Webb

Textsträngar och formulär i JavaScript

Hemsidan här kan du bl a söka annan lägenhet och göra felanmälan direkt på hemsidan

1. Börja med att logga in på CoopEgenkontroll ( med dina ordinarie inloggningsuppgifter.

Skapa egna övningar med ProProfs

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Manual Dataadministratör

Manual HSB Webb brf Den i särklass vanligaste är Standardartikeln så den beskrivs i detalj nedan.

Avancerade Webbteknologier

Självbetjäning för arbetsgivare. Användarhandledning Arbetsgivartjänsten Lämna uppgifter

En personuppgift är information som kan kopplas till en fysisk person som är i livet. Även kodade uppgifter kan anses vara personuppgifter.

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

1. Gå till redigeringsläge i Episerver, klicka på den sida som du vill ha ett formulär på. 2. Klicka på fliken Formulär.

WebViewer Manual för administratör Nova Software AB

Daniel Clarhed

Administration av asrp.se

Lathund Office online

Användarbeskrivning ARBETSGIVARINTYG. för Sveriges alla arbetsgivare. arbetsgivarintyg.nu. En ingång för alla användare. Innehåll. Version 1.

SKÖTSELSKOLAN. Instruktioner till personal - för dig som arbetar på ett entreprenadföretag

Laboration 6 Formulär och stränghantering övningar/uppgifter

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

SBR-Net - SBR:s informations- och mötesplats på webben!

SAFE WORK. Instruktioner till Företagets egen sida - för dig som är chef/kontaktperson på ett entreprenadföretag

E postutbildning för PRO riks Outlook webb. Kjell Hanson Mild och Gunilla Eriksson

Använda Limesurvey. Efter inloggning kommer du till startsidan för Limesurvey. Nedan visas en bild på de val som kan göras från startsidan.

Detta dokument innehåller instruktioner för hur du ska ställa in din ipad (ios 9) för olika ändamål

Tidigare använde vi oss av en sidtyp som hette formulär. Dessa finns kvar och kommer att fungera men har en del begränsningar i funktionalitet.

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

» RSS - Bygg din egen RSS!

Användarguide itslearning

Handledning Octo Anmälan

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

EasySurveyor. Snabbguide. Skapa ny enkät. Webbenkätsystem

Handledning till FC 12 på webben

Att anma la intresse fö r förskningsprögram inöm prögnöser öch fö rvarning fö r extrema sölstörmar Sa ga r det till.

Välkommen till PictureMyLife!

Kom igång och redigera din hemsida!

SBR-Net - SBR:s informations- och mötesplats på webben! Med First Class-klientprogram

Godkänn villkoren, klicka på Förhandsgranska och sedan på Spara. Klart.

Formulär Sida 2 av 12

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

Mikromarc 2 Meddelandecenter

Att använda ELSA. Vad behövs för att använda ELSA?. Felrapportering och support

NEONOVA AB. Handledning för Kontoregistrering / Återaktivering Pict-O-Stat NM - Nationella Mätningar

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Manual Utbildningsmodulen

Webforum. Nya funktioner i version Senast uppdaterad:

BRUKSANVISNING FÖR KULTA2 -SYSTEMET

Skapa enkäter i EvaSys

Verktygen i Fronter, för lärare

Kom igång med din butik. 1. Skapa kategorier och produkter 2. Att göra en beställning i butiken 3. Övriga verktyg

Verktyget är begränsat till Microsoft Internet Explorer v 7.0 och uppåt

3. Författare: Ange samtliga författare. Gör så här:

Detta dokument innehåller instruktioner för hur du ska ställa in din ipad (ios 11) för olika ändamål

MANUAL FÖR UPPSATSADMINISTRATÖRER

Underhåll av

Användarmanual. Resultatrapportering Kurs1

Verktygen i Fronter, för lärare

Manus för instruktionsfilm: Skapa ett filarkiv

Axalon Process Navigator SP Användarhandledning

Kom igång och redigera din hemsida!

Webbsidor och webbservrar

Lathund Bokning. Senselogic AB Version 2.3

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

F06 A table form Dagens agenda

Verktygen i Fronter, för lärare

Gemensam byggprocess, GBP. Presentation: Hitta dokument i GBP-databasen gbp.goteborg.se

kl Tentaupplägg

Hur du registrerar en ansökan om pre-lei på NordLEI-webbportalen

Evenemang. Gör såhär: eller

Kommer det inget mail? Kontrollera i så fall att du matat in rätt mailadress och att mailet inte fastnat i ditt skräppostfilter.

Webbpublicering på ki.se med Polopoly. Bilaga för huvudredaktörer

Manual Assessio WebTest. Logga in på sidan med användarnamn och lösenord

Handledningsmaterial Visio 2010

Manual för Sweco Piano 1. Manual för Piano PIANO BY SWECO AN INVENTORY APP WITH OFFLINE SUPPORT

Schema. Under dessa menyer finns dina tillgängliga funktioner. Alternativ kan saknas om skolan inte aktiverat en funktion. Nova Software AB 1 (12) 402

Manual Söka ledig tjänst Landstinget i Östergötland. Senast reviderad

Moodle på Åsö för lärare

Voic i FirstClass

Webbsidekurs för nybörjare

Formulär i Sitecore. Innehåll. Inlogg sitecore:

Intresseanma lan fö r miljö stö d inöm ra ddningsinsatser med fökus pa skadeplatsen Sa ga r det till.

Användarmanual för Content tool version 7.5

VASS HBI Användarmanual

Lathund till att lämna E-anbud

Transkript:

! 1! 22 april 2013 Projektbeskrivning, Programmering för webben, vt 2013 Projektbeskrivning Projektet går ut på att skriva PHP-kod för en quiz. Ett mini-exempel på hur resultatet av projektet kan se ut finns på! http://dvwebb.mah.se/k3bope/da130a/project2013/ Det rekommenderas, men är inte tvunget, att använda följande mall: Sidan index.php som är startsida där man bland annat anger sitt namn. Sidan question.php som visar alla frågorna, en åt gången. Sidan result.php som visar resultatet, när alla frågorna är besvarade. För betyget Väl godkänd krävs även sidor som skickar resultatet med mail och sparar resultatet i en databas. Dessutom behövs en fil functions.php som innehåller php-funktioner som behöver användas. Börja med att läsa igenom hela beskrivningen. Det rekommenderas sedan att börja med att göra funktionen showquestion. Hur det ska göras finns beskrivet i avsnittet Funktionen showquestion i slutet av projektbeskrivningen. Detaljerad beskrivning av quiz En quiz ska bestå av minst 7 frågor. En quiz ska ha minst 6 resultatalternativ som man kan få när man är klar med quizen. Om quizen är "Viken färg är du?" kan resultatalternativen till exempel vara röd, blå, gul, grön, orange, vit, svart. Varje fråga ska ha lika många svarsalternativ som det finns resultatalternativ. Varje svarsalternativ måste stämma överens med ett resultatalternativ. När quizen är klar får man ett resultat baserat på det resultatalternativ som valts flest gånger. Till varje fråga ska det finnas en bild. Till varje resultatalternativ ska det finnas en bild. Detaljerad beskrivning av ingående sidor Följande beskrivning är en rekommendation. Om ni hellre vill lösa uppgiften på ett annat sätt så att specifikationerna uppfylls går det bra. Följande sidor rekommenderas: functions.php innehåller hjälpfunktioner som behövs på andra sidor. Filen infogas med hjälp av include på de sidor där funktionerna behövs. En stomme till functions.php finns tillgänglig för nedladdning. Den innehåller en helt färdig funktion, max_index, samt början

! 2! 22 april 2013 till funktionen showquestion. Funktionen showquestion är central för projektet och beskrivs ingående under en separat rubrik nedan. index.php innehåller ett formulär där man anger sitt namn. När man klickar sign in kommer man till till sidan question.php som visar första frågan. index.php index.php innehåller också PHP-kod som lagrar alla frågor i sessionsvariabler. Följande sessionsvariabler kan definieras: $_SESSION["quizname"]: namnet på quizen $_SESSION["resulttitles"]: en array med alla resultatalternativ. $_SESSION["resultimages"]: en array med filnamn på resultat-bilder. Till varje resultatalternativ ska det finnas en bild $_SESSION["questionnumber"]: aktuellt frågenummer. Från början ska den ha värdet 0. $_SESSION["answers"]: en array med lika många element som det finns svarsalternativ. Från början ska varje element vara talet 0. $_SESSION["allquestions"]: en flerdimensionell array som innehåller alla frågor. allquestions har lika många element som det finns frågor. Varje fråga är i sin tur en associativ array med elementen $question["questiontitle"]: själva frågan $question["alternatives"]: en array med svarsalternativen. Obs att svarsalternativen i de olika frågorna måste komma i blandad ordning. $question["values"]: en array som anger vilket resultat ett visst svarsalternativ är kopplat till. Denna array har lika många element som det finns svaralternativ. Se exempel nedan. $question["image"]: filnamn på en bild som hör till frågan I ett förenklat exempel med bara tre svarsalternativ skulle det kunna se ut så här: $_SESSION["quizname"]="Which color are you?"; $_SESSION["resulttitles"]=array("yellow","red","blue"); //yellow är resultat 0, red är resultat 1, och blue är resultat 2 $_SESSION["resultimages"]=array("yellow.gif","red.jpg","blue.jpg"); $_SESSION["questionnumber"]=0; //börja med fråga 0 En fråga skulle då kunna se ut så här: $question0["questiontitle"]="which flower do you prefer?"; $question0["alternatives"]=array("rose","bluebell","dandelion"); $question0["values"]=array(1,2,0); //rose kopplas till resultat 1 dvs red

! 3! 22 april 2013 //bluebell kopplas till resultat 2 dvs blue //dandelion kopplas till resultat 1 dvs yellow $question0["image"]="flower.jpg"; Alla frågor byggs upp enligt denna struktur. Vi kan då bygga allquestions i ett förenklat exempel med tre frågor så här $_SESSION["allquestions"]=array($question0,$question1,$question2); När man trycker på startknappen ska man komma till sidan question.php där man kan svara på första frågan. qustion.php ska visa de olika frågorna, en åt gången. Detta betyder att sidan question.php måste veta om den ska visa första, andra, tredje frågan osv. Sessionsvariabeln $_SESSION["questionnumber"] håller reda på vilken fråga som ska visas. question.php Knappen next på sidan question.php ska normalt leda tillbaka till sig själv så att nästa fråga kan besvaras, förutom när man befinner sig på sista frågan. Då ska knappen istället leda fram till sidan result.php. En central del i sidan question.php (och i hela projektet) är funktionen showquestion i filen functions.php som visar själva frågeformuläret. Mer om den funktionen under separat rubrik nedan! Sidan måste även hålla rätt på vad man svarade på föregående fråga. Hur många gånger man svarat på ett visst svarsalternativ lagras i sessionsvariabeln $_SESSION["answers"]. Om man exempelvis svarar första alternativet på en fråga så ökas första elementet i $_SESSIONS["answers"] med ett, svarar man andra alternativet ökar andra elementet med ett etc. result.php ska visa resultatet på quizen. Det svarsalternativ som fått flest svar anger resultatet. Antag igen att vi har tre svarsalternativ och tre frågor. Antag att vi svarar 2 gånger på första alternativet, 0 gånger på andra alternativet och 1 gång på tredje alternativet. Då innehåller vår array $_SESSION["answers"] följande värden: $_SESSION["answers"][0] har värdet 2 $_SESSION["answers"][1] har värdet 0 $_SESSION["answers"][2] har värdet 1 Första svarsalternativet (med index 0) har fått flest svar. Det finns en färdig funktion, max_index($array) i filen functions.php som hittar index för största värdet i en array.

! 4! 22 april 2013 Observera att det inte är hur stort största värdet är som vi är intresserade av (dvs hur många svar alternativ 0 fått) utan endast vilket alternativ som fått flest svar. För VG måste även finish kompletteras med ett formulär där man kan ange en epostadress att skicka resultatet till! finish.php sendmail.php krävs endast om man vill ha VG. Se ytterligare VG-krav under rubriken Betygsbedömning. Sidan skickar epost med resultatet till den adress som angavs i formuläret på föregående sida. Funktionen showquestion sendmail.php Funktionen showquestion är central i projektet. Den ska visa formuläret med frågor på sidan question.php. Det rekommenderas starkt att man börjar projektet med att göra och testa funktionen showquestion.php. Funktionen kan testas på sidan testshowquestion.php som finns tillgänglig för nedladdning. Funktionen anropas med följande funktionsanrop: showquestion($question,$questionnumber,$numberofquestions)

! 5! 22 april 2013 där $question innehåller alla uppgifter om en fråga, $questionnumber vilken fråga i ordning det är, och $numberofquestions är hur många frågor det finns totalt. Funktionens uppgift är att visa: Frågans titel Ett formulär med alla svarsalternativ som radiobuttons. En knapp, som visar texten next och leder till nästa fråga på sidan question.php, eller texten finish om man befinner sig på sista frågan och då leder till sidan finish.php. Den bild som finns i $image. values är en array som används för att kunna variera i vilken ordning svarsalternativen ska komma. Antag att vi har resultaten $_SESSION["resulttitles"]=array("yellow","red","blue"); Om vi har svarsalternativen i samma ordning som resultaten $question["alternatives"]=array("dandelion","rose","bluebell") anger vi det i vår array values på följande sätt: $question["vaues"]=array(0,1,2); Om vi istället visar svarsalternativen i en blandad ordning, tex så här $question["alternatives"]=array("rose", "dandelion","bluebell") anger vi det i vår array values på följande sätt: $question["values"]=array(1,0,2); Frågan ser då ut så här: Den resulterande html-koden för själva formuläret kan se ut så här: <form method="get" action="question.php"> <input type="radio" name="answer" value="1" checked>rose<br> <input type="radio" name="answer" value="0">dandelion<br> <input type="radio" name="answer" value="2">bluebell<br> <input type="submit" value="next"> </form>

! 6! 22 april 2013 Observera följande: Namnet på radioknappen är answer. Värdet för respektive knapp måste motsvara rätt alternativ. Oavsett i vilken ordning alternativen visas måste alltid dandelion-knappen motsvara value=0, rose motsvara value=1 och bluebell motsvara value=2. Handledning Handledning kommer att ges under minst ett schemalagt och laborationstillfälle per vecka. Projektinlämning Följande ska lämnas in på it's learning senast 3 juni kl 13.00: - alla sidor med PHP-kod och HTML-kod ihopzippade - en länk till ett fungerande projekt - en rapport omfattande minst en A4-sida där du beskriver ditt projekt. Projektredovisning Projektet visas för lärare och övriga kursdeltagare den 4 juni kl 13-16. Projektet ska vara fullt fungerande så att det kan testas. Betygsbedömning För betyget godkänd krävs ett fullt fungerande projekt med välstrukturerad och välkommenterad kod som uppfyller specifikationerna. För betyget väl godkänd krävs även att resultat och namn sparas i en databas, och att det finns en sida som kan visa en lista över olika personers resultat. Dessutom ska resultatet kunna skickas med mail. Exempel på en quiz från start till mål Ett förenklat exempel med tre resultatalternativ och tre frågor:

! 7! 22 april 2013 index.php question.php (första frågan) question.php (andra frågan)

! 8! 22 april 2013 question.php (tredje och sista frågan) result.php