Site facts

Review

Lav en test
I denne tutorial vil jeg prøve at beskrive hvordan man laver en test. Det er ikke sikkert at alle syntes min måde at lave en test på, er 100% korrekt, og det vil jeg heller ikke kunne svare på om den er, da det er selvlært. Men mine tests funkere for mig, så måske gør den også for dig? ^^"
.

Hvad indgår i testen?
I den test vi skal lave, vil der indgå følgende:
- Kodning af svarene
- Kodning af resultaterne
- Spørgsmål og svarmuligheder
- "udfør" knappen

Hvis der er nogen af udtrykkende som du ikke forstår, så ikke gå i panik. Det kommer til at give sig selv hen af vejen, når man får lidt mere erfaring med det.

Først vil jeg præsentere jer for den fulde kode. Dernæst vil jeg punktvis, forklare hvilken funktioner hver del af koden har.
.

Den fulde kode
Kopir den koden som står her under, og indsæt den som et nyt dokument (Hvis du ikke er klar over hvilket program du skal bruge, så kan du fx. anvende notesblok)

<table cellpadding="2" cellspacing="0" style="border-collapse: collapse"> <tr> <td width="900" class="header">OVERSKRIFTEN PÅ TESTEN</td> </tr> <tr> <td> <script language="JavaScript" type="text/javascript"> <!-- function process() { var person1 = 0; var person2 = 0; var person3 = 0; var person4 = 0; var f = document.f; var i = 0; for (i = 0; i < f.one.length; i++) if (f.one[i].checked) value = f.one[i].value; if (value == "1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } for (i = 0; i < f.two.length; i++) if (f.two[i].checked) value = f.two[i].value; if (value == "1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } for (i = 0; i < f.three.length; i++) if (f.three[i].checked) value = f.three[i].value; if (value =="1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } var out = "/mappe/kat"; i = person1; if (person2 > i) { out = "/mappe/hund"; i = person2; } if (person3 > i) { out = "/mappe/hest"; i = person3; } if (person4 > i) { out = "/mappe/lama"; i = person4; } location.href = out + ".php"; } function err(msg, url, line) { location.href = "error.html"; } //window.onerror = err; // --> </script> </head> <body> <form name="f"> <b>Spørgsmål 1</b><br> <input type="radio" name="one" value="1">Svar 1<br> <input type="radio" name="one" value="2">Svar 2<br> <input type="radio" name="one" value="3">Svar 3<br> <input type="radio" name="one" value="4">Svar 4<br> <br><br> <b>Spørgsmål 2</b><br> <input type="radio" name="two" value="1">Svar 1<br> <input type="radio" name="two" value="2">Svar 2<br> <input type="radio" name="two" value="3">Svar 3<br> <input type="radio" name="two" value="4">Svar 4<br> <br><br> <b>Spørgsmål 3</b><br> <input type="radio" name="three" value="1">Svar 1<br> <input type="radio" name="three" value="2">Svar 2<br> <input type="radio" name="three" value="3">Svar 3<br> <input type="radio" name="three" value="4">Svar 4<br> <br><br> <input type="button" value="UDFØR" onClick="process();" style="font-family:Verdana; font-size=10 px; "> <br><br> </body> </html> Kopier som sagt overstående og indsæt i et nyt dokument. Gem dette dukoment med testensnavn.php (Testensnavn = det du ønsker testen skal hedde).
.

Lav en overskrift til testen
Til testen skal du selvfølgelig have en overskrift. Dette er nok det nemmeste du overhovedet kommer til at lave på den. Find dette sted på koden: <table cellpadding="2" cellspacing="0" style="border-collapse: collapse"> <tr> <td width="900" class="header">OVERSKRIFTEN PÅ TESTEN</td> </tr> <tr> <td> Og ændre der hvor der står "OVERSKRIFT PÅ TESTEN" til din ønskede overskrift. fx. "Hvilken frugt er du?"... Eller andre kreative ting :D
.

Mængden af spørgsmål og svarmuligheder
Vi er nu kommet til kodningen af hvor mange spørgsmål der skal være, og kodningen af hvor hvor mange svarmuligheder der skal være til hver. Vi starter med at finde stedet i koden som ser således ud:

for (i = 0; i < f.one.length; i++) if (f.one[i].checked) value = f.one[i].value; if (value == "1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } for (i = 0; i < f.two.length; i++) if (f.two[i].checked) value = f.two[i].value; if (value == "1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } for (i = 0; i < f.three.length; i++) if (f.three[i].checked) value = f.three[i].value; if (value =="1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } Kodningen for ét spørgsmål (Det første) ser således ud:

for (i = 0; i < f.one.length; i++) if (f.one[i].checked) value = f.one[i].value; if (value == "1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } Det eneste i her skal gøre hvis i vil have en svar mulighed mere er at lave en linje der ser således ud: if (value == "5") { person5++; } Og hvis i så vil have en 6 mulighed laver i selvfølgelig bare en linje som ser sådan ud igen, og ændre "5" til "6" begge steder.

For at lave flere spørgsmål end de tre som er med i denne indtil videre skal i lave tilføje koden som ser således ud: for (i = 0; i < f.four.length; i++) if (f.four[i].checked) value = f.four[i].value; if (value =="1") { person1++; } if (value == "2") { person2++; } if (value == "3") { person3++; } if (value == "4") { person4++; } Som i nok kan se i den første linje: for (i = 0; i < f.four.length; i++) if (f.four[i].checked) value = f.four[i].value; Står der op til flere steder "four", dette betyder at det er spørgsmål 4. Dvs. at hvis i vil lave et spørgsmål 5 skal i erstatte "four" med "five" osv. osv. (Husk at rette alle tre steder til det nye ønskede tal). Alle tallene skal være skrevet med bogstaver, og på engelsk.
.

Kodning af resultatet
Nu skal vi tage fat i kodningen af resultatet. Du skal finde stedet i din kode som ser således ud:

var out = "/mappe/resultat1"; i = person1; if (person2 > i) { out = "/mappe/resultat2"; i = person2; } if (person3 > i) { out = "/mappe/resultat3"; i = person3; } if (person4 > i) { out = "/mappe/resultat4"; i = person4; } location.href = out + ".php"; } function err(msg, url, line) { location.href = "error.html"; } //window.onerror = err; // --> </script> </head> <body> Vi inddeler lige kodningen for at gøre det en smule nemmere. Først tager vi fat i resultat mulighederne, som er dette stykke af koden:

var out = "/mappe/resultat1"; i = person1; if (person2 > i) { out = "/mappe/resultat2"; i = person2; } if (person3 > i) { out = "/mappe/resultat3"; i = person3; } if (person4 > i) { out = "/mappe/resultat4"; i = person4; }

Efter som resultatet er på en helt anden side skal du skrive stien til resultatet. Dvs. "mappen som resultatet er i/resuktatets navn". For at tilføje endnu en resultats mulighed skal du tilføje en linje som ser således ud:

if (person5 > i) { out = "/mappe/resultat5"; i = person5; } Som du kan se har jeg erstattet det tal som stod før, med "5". Hvis du vil have en sjede resultatsmulighed skal du erstatte "5" med "6".

Vi hopper nu videre til retningen om resultatsmulighedssiden er kodet i php eller html (det er helt op til om du laver dine hjemmesider så de er htmlfiler eller php filer). Dette retter vi i koden det sted hvor der står: location.href = out + ".php"; } function err(msg, url, line) { location.href = "error.html"; Der hvor der står ".php" skal du rette til ".html" hvis du ønsker din resultatsmulighedside skal være kodet i html i stedet for php.
Desuden kan du her sætte den besøgende til at blive sendt hen til en "fejl-side" du selv har lavet, hvis der skulle gå en og være sket en fejl i din test. Dette ændre du ved at lave stien til denne fejl-side, der hvor der står "error.html" dette kunne fx. være "testfejl.php". Ønsker du ikke at lave det, så lad være med at rette i den, da den som standard vil blive sendt hen til en standard error side.
.

Spørgsmålene og svarene
Nu er vi kommet til at lave selve spørgsmålene og svarmulighederne. Her indgår ikke ret meget kodning så er forholdsvis nemt. Vi starter lige med at finde dette stykke kode:

<b>Spørgsmål 1</b><br> <input type="radio" name="one" value="1">Svar 1<br> <input type="radio" name="one" value="2">Svar 2<br> <input type="radio" name="one" value="3">Svar 3<br> <input type="radio" name="one" value="4">Svar 4<br> <br><br> <b>Spørgsmål 2</b><br> <input type="radio" name="two" value="1">Svar 1<br> <input type="radio" name="two" value="2">Svar 2<br> <input type="radio" name="two" value="3">Svar 3<br> <input type="radio" name="two" value="4">Svar 4<br> <br><br> <b>Spørgsmål 3</b><br> <input type="radio" name="three" value="1">Svar 1<br> <input type="radio" name="three" value="2">Svar 2<br> <input type="radio" name="three" value="3">Svar 3<br> <input type="radio" name="three" value="4">Svar 4<br> Som i kan se er der her 3 spørgsmål. Men nu går vi lige ind og arbejder med den ene kun. Dvs. koncentrer dig om det første spørgsmål:

<b>Spørgsmål 1</b><br> <input type="radio" name="one" value="1">Svar 1<br> <input type="radio" name="one" value="2">Svar 2<br> <input type="radio" name="one" value="3">Svar 3<br> <input type="radio" name="one" value="4">Svar 4<br> <br><br> Du skal huske at antallet af svar skal stemme overens med hvor mange du kodet den til at have.
Der hvor der står "Spørgsmål 1" skal du skrive spørgsmålet. Der hvor der står "svar 1", "svar 2" osv. skal du skrive div. svarmuligheder. Det er overhovedet ikke svært. Men nu kommer vi til det svære. Hvis du husker da vi lavede resultaterne stod der som følgende:

i = person1; if (person2 > i) { out = "/mappe/resultat2"; i = person2; } if (person3 > i) { out = "/mappe/resultat3"; i = person3; } if (person4 > i) { out = "/mappe/resultat4"; i = person4; } Og som i kan se hedder hvert rusultat et tal ((person4 > i) og i = person4; }. Nu skal du så kigge på koden med spørgsmålene igen. Hvis du ser efter kan du se at der står "Value ="1" fx... Dette betyder selvfølgelig at soørgsmål 1 er = resultat et. Dvs. at du lige skal mixe de tal lidt så de ikke står i rigtig rækkefølge. Fx:

<b>Spørgsmål 1</b><br> <input type="radio" name="one" value="2">Svar 1<br> <input type="radio" name="one" value="4">Svar 2<br> <input type="radio" name="one" value="1">Svar 3<br> <input type="radio" name="one" value="3">Svar 4<br> <br><br> Dette skal du gøre ved spørgsmål 1, 2 og 3.

hvis du vil tilføje flere spørgsmål skal du skrive dette stykke kode:

<b>Spørgsmål 1</b><br> <input type="radio" name="one" value="2">Svar 1<br> <input type="radio" name="one" value="4">Svar 2<br> <input type="radio" name="one" value="1">Svar 3<br> <input type="radio" name="one" value="3">Svar 4<br> <br><br> Og ændre "one" til fx. "Four" alt efter hvilket spørgsmål du er kommet til. Så hvis dette fx. var spørgsmål 4 se således ud:

<b>Spørgsmål 4</b><br> <input type="radio" name="four" value="2">Svar 1<br> <input type="radio" name="four" value="4">Svar 2<br> <input type="radio" name="four" value="1">Svar 3<br> <input type="radio" name="four" value="3">Svar 4<br> <br><br>
.

Udfør-knappen
Selvfølgelig skal vi lige have lavet en udfør knap, så find lige dette stykke i koden: <input type="button" value="UDFØR" onClick="process();" style="font-family:Verdana; font-size=10 px; "> <br><br> </body> </html> Der hvor der står "UDFØR" kan du rette til din ønskede text. Dette kan fx. være "tag test", "Jeg er en.." osv. osv. Det er helt op til dig.
Kig derefter på følgende linje:

style="font-family:Verdana; font-size=10 px; "> Hvor der står "verdana" kan du ændre skrifttypen, ved fx. at skrive "Times new romance". Du kan også hvor der står 10px ændre skriftstørrelsen på knappen, ved at ændre 10 til et størrer eller mindre tal.

Nu skulle din test være færdig. Så skal du bare gemme den. Hvis der opstår problemer du ikke selv kan løse, eller du mener der er en fejl eller misledning i min tutorial, er du velkommen til at kontakte mig. Nu mangler du bare at lave resultatsiderne.
.

Test resultatsiderne
Det du gør er at oprette det antal dokumenter, som du har lavet testresultater ved. Disse nye dokumenter kan se ud som du selv ønsker det, men de skal hedde det som du navngav test resultaterne i dette stykke kode:

var out = "/mappe/resultat1"; i = person1; if (person2 > i) { out = "/mappe/resultat2"; i = person2; } if (person3 > i) { out = "/mappe/resultat3"; i = person3; } if (person4 > i) { out = "/mappe/resultat4"; i = person4; } location.href = out + ".php"; } function err(msg, url, line) { location.href = "error.html"; } //window.onerror = err; // --> </script> </head> <body> </td> </tr> </table> <br> Held og lykke med det :D
.