Den normale mann Skrevet 24. mars 2005 Del Skrevet 24. mars 2005 (endret) Hei. Har et lite problem med quizen min jeg har laget ved hjelp av php. Problemet er at det alltid står at man har fått null poeng. Er kanske nybegynner, men skjønner en del siden jeg kan litt javascript. Her er deler av koden til quizen. Har ikke tatt med <br> og sånt <form action="innhold/iq-resultat.php" method="get" name="iq-test"> smp. 1 <input type="radio" name="q1" value="1">Ja <input type="radio" name="q1" value="2">Nei spm 2. <input type="radio" name="q2" value="1">1 <input type="radio" name="q2" value="2">45 <input type="radio" name="q2" value="3">67 <!-- osv. --> Koden for motager siden er (forkortet den også): <? if (document.iq-test.q1==1) //vis svar på q1 riktig (value 1) legg til en på $tell { $tell=$tell++; } if (document.iq-test.q2==1) //vis svar på q2 (spm 2) riktig (value 1) legg til en på $tell { $tell=$tell++; } switch ($tell) { //vis antall riktige 0, teksten her synes case 0: print "Du fikk ingen riktige</span><br />Det var syn"; break; case 1: //vis antall riktige 1, synes denne teksten print "Du fikk en riktig</span><br />Det litt syn"; break; //osv. default: print "Det har skjedd en feil"; } ?> Takk for all hjelp Endret 4. april 2005 av 100smiles Lenke til kommentar
phanti Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 (endret) Mulig jeg tar helt feil her, men prøver du å sjekke på en variabel fra javascript i php? Jeg vet ikke hvordan du kan "kryss-sjekke" variabler fra javascript og php, men jeg kan hvertfall fortelle deg hvordan jeg hadde gjort det: <?php //sjekke svarene sendt fra skjema "the php-way";D $poengsum = 0; if($_POST['q1'] == 1){ $poengsum++; //Dette er nok for å øke summen med 1. } if($_POST['q2'] == 1){ $poengsum++; } //Bare limer inn ditt her.... switch ($poengsum) { //vis antall riktige 0, teksten her synes case 0: print "Du fikk ingen riktige</span><br />Det var syn"; break; case 1: //vis antall riktige 1, synes denne teksten print "Du fikk en riktig</span><br />Det litt syn"; break; //osv. default: print "Det har skjedd en feil"; } ?> *edit: glemte å lukke code-tagen Endret 25. mars 2005 av phanti Lenke til kommentar
Den normale mann Skrevet 25. mars 2005 Forfatter Del Skrevet 25. mars 2005 (endret) Hmm. Funka faktisk ikke det helle, selv om det virka som om den koden var feilfri. Er det noen som kan se om jeg har gjort noe feil her. HTML koden på den første siden har jeg ikke forandret på (se koden på første innlegg) <span class="h1"> <? $poengsum = 0; if ($_POST['q1'] == 1){ //svar alternativ 1 er riktig $poengsum++; } if ($_POST['q2'] == 1){ $poengsum++; } if ($_POST['q3'] == 4){ //svar alternativ 4 er riktig $poengsum++; } if ($_POST['q4'] == 3){ $poengsum++; } if ($_POST['q5'] == 2){ $poengsum++; } if ($_POST['q6'] == 6){ $poengsum++; } if ($_POST['q7'] == 2){ $poengsum++; } if ($_POST['q8'] == 5){ $poengsum++; } if ($_POST['q9'] == 1){ $poengsum++; } if ($_POST['q10'] == 5){ $poengsum++; } switch ($poengsum) { case 0: print "Hææ..? Ingen kommentar</span><br />0 Riktige<br />Dette var synd..."; break; case 1: print "Under gjennomsnittet</span><br />1 Riktige<br />Tenk deg om før du svarer... Endret 25. mars 2005 av 100smiles Lenke til kommentar
Christian_ Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 (endret) hva får du opp da? får du opp feilmelding eller ingenting? Edit: Du kunne jo ta å lage ett array med all infoen til poengsummen i.. f.eks: $kommentarertilsum = array( 0 => "Dette var ikke bra du fikk 0 poeng jo!", 1 => "Hva er det med deg da? du klarer da bedre enn dette", 2 => "o.s.v....", 3 => "o.s.v....", 4 => "o.s.v....", 5 => "o.s.v....", 6 => "o.s.v....", 7 => "o.s.v....", 8 => "o.s.v....", 9 => "o.s.v....", 10 => "o.s.v...." ); echo $kommentarertilsum[$poengsum]; muligens noen feil i koden med du skjønner vel pointet Endret 25. mars 2005 av chs89 Lenke til kommentar
phanti Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 Trykker du submit for hvert spørsmål, eller er alle spørsmålene på en side? Lenke til kommentar
Christian_ Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 du så jo det i første inlegg at de var på en side Lenke til kommentar
Manoz Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 Skal det ikke være break;'s i switch'n? Lenke til kommentar
Christian_ Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 (endret) Skal det ikke være break;'s i switch'n? det kommer jo helt ann på hva du skal bruke den til. i dette tilfelle skal den gå igjennom alle mulighetene i switch og sjekke, men manbruker break når du vil at switch'en skal toppe når case er true EDIT: sorry missforso litt men han bruker jo break der da... Endret 25. mars 2005 av chs89 Lenke til kommentar
Manoz Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 (endret) *leser alle poster 2 ganger fra nå av* Skal ikke method være satt til "post". Og vil det ikke bli bedre med if ($q1 == 1)... Endret 25. mars 2005 av Manoz Lenke til kommentar
Christian_ Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 *leser alle poster 2 ganger fra nå av* Skal ikke method være satt til "post". Og vil det ikke bli bedre med if ($q1 == 1)... feilen ligger nok der ja... men det er vel liten vits å lage en egen variabel som POST blir lagret i når det kunn skal brukes en gang Lenke til kommentar
Den normale mann Skrevet 25. mars 2005 Forfatter Del Skrevet 25. mars 2005 Prøvde med å endre method til post og endre if greiene til: if ($q1 == 2) {$poengsum++} Men det funket ikke det heller. Jeg det står fortsatt bare: 0 poeng. det var synd (eller noe sånt, ihvertfall det som står på case 0) Kan det hende at det er fordi jeg ikke har skrevet inn navnet på skjema if greiene skal hente inn data fra. Eller er det ikke det nødvendig. Lenke til kommentar
Christian_ Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 (endret) prøv dette <form action="innhold/iq-resultat.php" method="POST" name="iq-test"> smp. 1 <input type="radio" name="q1" value="1">Ja <input type="radio" name="q1" value="2">Nei spm 2. <input type="radio" name="q2" value="1">1 <input type="radio" name="q2" value="2">45 <input type="radio" name="q2" value="3">67 <!-- osv. --> <? $poengsum = 0; if ($_POST['q1'] == 1){ //svar alternativ 1 er riktig $poengsum++; } if ($_POST['q2'] == 1){ $poengsum++; } if ($_POST['q3'] == 4){ //svar alternativ 4 er riktig $poengsum++; } if ($_POST['q4'] == 3){ $poengsum++; } if ($_POST['q5'] == 2){ $poengsum++; } if ($_POST['q6'] == 6){ $poengsum++; } if ($_POST['q7'] == 2){ $poengsum++; } if ($_POST['q8'] == 5){ $poengsum++; } if ($_POST['q9'] == 1){ $poengsum++; } if ($_POST['q10'] == 5){ $poengsum++; } $kommentarertilsum = array( 0 => "Dette var ikke bra du fikk 0 poeng jo!", 1 => "Hva er det med deg da? du klarer da bedre enn dette", 2 => "o.s.v....", 3 => "o.s.v....", 4 => "o.s.v....", 5 => "o.s.v....", 6 => "o.s.v....", 7 => "o.s.v....", 8 => "o.s.v....", 9 => "o.s.v....", 10 => "o.s.v...." ); echo "antall poeng: " . $poengsum . "<br />"; echo $kommentarertilsum[$poengsum]; echo "<br /><br />"; echo "takk for at du deltok :)"; ?> EDIT: legg merke til at jeg har redigert den øverste også Endret 25. mars 2005 av chs89 Lenke til kommentar
Den normale mann Skrevet 25. mars 2005 Forfatter Del Skrevet 25. mars 2005 Jippii! Det funka. Tusen, tusen takk! Lenke til kommentar
Christian_ Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 (endret) Jippii! Det funka.Tusen, tusen takk! bare hyggelig EDIT: Mulig å få ta denne IQ testen eller? link? Endret 25. mars 2005 av chs89 Lenke til kommentar
Den normale mann Skrevet 25. mars 2005 Forfatter Del Skrevet 25. mars 2005 (endret) Her er IQ-Testen. Egentlig er dette en test jeg fant på en annen side for lenge siden. Synes den var utrolig bra og har endret litt på svar alternativene og sånt. Ta IQ-Testen Holder på å lage siden, så den er egentlig ikke ferdig. Det hvite går over det orange og sånt. Alle linkene fungerer heller ikke. Men holder på å fikse det. EDIT: Vis du greier alle uten å ha tatt testen før eller sett på svarene blir jeg utrolig imponert Endret 25. mars 2005 av 100smiles Lenke til kommentar
phanti Skrevet 26. mars 2005 Del Skrevet 26. mars 2005 Hehe, fint å se at du fikk det til å virke. Fikk bare 7 riktige jeg da Lenke til kommentar
Den normale mann Skrevet 26. mars 2005 Forfatter Del Skrevet 26. mars 2005 Det er ganske vanskelig å få alle riktige. Tipper at kun 5% får alt riktig. Lenke til kommentar
Christian_ Skrevet 26. mars 2005 Del Skrevet 26. mars 2005 Det er ganske vanskelig å få alle riktige. Tipper at kun 5% får alt riktig. hehe! 7 her også fikk allt rett på 2 forsøk og da sto det at jeg hadde juksa Lenke til kommentar
Den normale mann Skrevet 26. mars 2005 Forfatter Del Skrevet 26. mars 2005 Siden nesten ingen får 10 rette uten å jukse, derfor har jeg skrevet "Du har jukset" Men skal endre den, så det står: "Hmm..Du har vel ikke jukset vel" Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå