Quiz pagina, met formulieren die na correct invullen doorverwijst

Status
Niet open voor verdere reacties.

henri2500

Gebruiker
Lid geworden
28 feb 2007
Berichten
265
Hallo allemaal,

Ik zit met een dringende vraag: Ik wil voor een kameraad een soort van online quizpagina in elkaar zetten waarbij hij een foto ziet en dan onder die foto elke keer moet kiezen tussen A, B, C of D. Op deze wijze wil ik (op dezelfde pagina) nog ca 20 vragen maken. De bedoeling is dat wanneer hij op verzenden drukt, hij wordt doorverwezen naar een pagina met een geheim wachtwoord als hij alles goed heeft, of naar een pagina waarop staat dat dingen incorrect zijn ingevuld. Ik heb zeer weinig tijd (vrijdagavond af) dus ik hoop dat iemand een simpel scriptje zou kunnen opzetten waarmee ik verder kan.

Alvast bedankt,

Henri Zomer
 
PHP:
session_start();
if(empty($_SESSION['vraag']))
{
$_SESSION['vraag'] = 0;
}
$afbeeldingen = array('afbeelding.jpg','afbeelding.jpg'.....);
$text = array('een dolfijn/een olifant/een tijger/een leeuw','een patatje naturel/een patatje oorlog/een patatje pinda/een patatje speciaal'........);
$actuelevraag = explode($text[$_SESSION['vraag']],'/');
$printvraag = '';
$printvraag.= '<img src="afbeeldingen/"'.$afbeeldingen[$_SESSION].' width="50" height="50"/><form action="" method="post">';
$letters = array('A','B','C','D');
$aant = 1;
foreach($actuelevraag as $value)
{
$printvraag.='<input type="radio" name="'.$_SESSION['vraag'].$letters[$aant]'"/>';
$aant++;
}
$printvraag .= '<input type="submit" name="submit"/></form>';
zo iets. moet nog verder afgemaakt worden.
 
Laatst bewerkt:
Bedankt voor de startup! Ik heb er even goed nagekeken, maar volgensmij heb ik het erg basic aangepakt. Ik hoop dat mijn code nu gaat werken, want ik zit nu al met een fout: Ookal vul ik alles in, ik blijf de melding krijgen dat ik niet alles heb ingevuld, hoe kan dat?

De code:

PHP:
<center>
<?
$page_title = "Quiz!!";
// Aantal vragen en variabelen oproepen
if(isset($_POST['submit'])){
$quest1 = $_POST['quest1']; 
$quest2 = $_POST['quest2'];  
$quest3 = $_POST['quest3'];  
$quest4 = $_POST['quest4'];  
$quest5 = $_POST['quest5'];
$quest6 = $_POST['quest6']; 
$quest7 = $_POST['quest7'];  
$quest8 = $_POST['quest8'];  
$quest9 = $_POST['quest9'];  
$quest10 = $_POST['quest10'];
$quest11 = $_POST['quest11']; 
$quest12 = $_POST['quest12'];  
$quest13 = $_POST['quest13'];  
$quest14 = $_POST['quest14'];  
$quest15 = $_POST['quest15'];
$quest16 = $_POST['quest16']; 
$quest17 = $_POST['quest17'];  
$quest18 = $_POST['quest18'];  
$quest19 = $_POST['quest19'];  
$quest20 = $_POST['quest20'];

// Alles is ingevuld?
if($quest1 == NULL OR $quest2 == NULL OR $quest3 == NULL OR $quest4 == NULL OR $quest5 == NULL OR $quest6 == NULL OR $quest7 == NULL OR $quest8 == NULL
 OR $quest9 == NULL OR $quest10 == NULL OR $quest11 == NULL OR $quest12 == NULL OR $quest13 == NULL OR $quest14 == NULL OR $quest15 == NULL OR $quest16 == NULL OR $quest17 == NULL
  OR $quest18 == NULL OR $quest19 == NULL OR $quest20 ){
$test_complete .='Please complete the quiz! <a href="javascript:history.go(-1)">Go Back</a>';

}else{
// change the quest1 to the right answer
if($quest1 == "1") { 
$test_complete .="Question one is <span class='green'>correct</span>, well done!<br/>";  
}else{ 
$test_complete .="Question one is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest2 to the right answer
if($quest2 == "1") { 
$test_complete .="Question two is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question two is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest3 to the right answer
if($quest3 == "1") { 
$test_complete .="Question three is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question three is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest4 to the right answer
if($quest4 == "1") { 
$test_complete .="Question four is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question four is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest5 to the right answer
if($quest5 == "1") { 
$test_complete .="Question five is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question five is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest1 to the right answer
if($quest6 == "1") { 
$test_complete .="Question one is <span class='green'>correct</span>, well done!<br/>";  
}else{ 
$test_complete .="Question one is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest2 to the right answer
if($quest7 == "1") { 
$test_complete .="Question two is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question two is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest3 to the right answer
if($quest8 == "1") { 
$test_complete .="Question three is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question three is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest4 to the right answer
if($quest9 == "1") { 
$test_complete .="Question four is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question four is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest5 to the right answer
if($quest10 == "1") { 
$test_complete .="Question five is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question five is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest1 to the right answer
if($quest11 == "1") { 
$test_complete .="Question one is <span class='green'>correct</span>, well done!<br/>";  
}else{ 
$test_complete .="Question one is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest2 to the right answer
if($quest12 == "1") { 
$test_complete .="Question two is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question two is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest3 to the right answer
if($quest13 == "1") { 
$test_complete .="Question three is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question three is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest4 to the right answer
if($quest14 == "1") { 
$test_complete .="Question four is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question four is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest5 to the right answer
if($quest15 == "1") { 
$test_complete .="Question five is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question five is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest1 to the right answer
if($quest16 == "1") { 
$test_complete .="Question one is <span class='green'>correct</span>, well done!<br/>";  
}else{ 
$test_complete .="Question one is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest2 to the right answer
if($quest17 == "1") { 
$test_complete .="Question two is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question two is <span class='red'>incorrect</span>!<br/>"; 
} 
// change the quest3 to the right answer
if($quest18 == "1") { 
$test_complete .="Question three is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question three is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest4 to the right answer
if($quest19 == "1") { 
$test_complete .="Question four is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question four is <span class='red'>incorrect</span>!<br/>"; 
}
// change the quest5 to the right answer
if($quest20 == "1") { 
$test_complete .="Question five is <span class='green'>correct</span>, well done!<br/>"; 
}else{ 
$test_complete .="Question five is <span class='red'>incorrect</span>!<br/>"; 
}


// Now lets see if all the questions are correct, this must match the above quest settings
if($quest1 == "1" & $quest2 == "1" & $quest3 == "1" & $quest4 == "1" & $quest5 == "1" & $quest6 == "1" & $quest7 == "1" & $quest8 == "1" & $quest9 == "1"
 & $quest10 == "1" & $quest11 == "1" & $quest12 == "1" & $quest13 == "1" & $quest14 == "1" & $quest15 == "1" & $quest16 == "1" & $quest17 == "1"
  & $quest18 == "1" & $quest19 == "1" & $quest20 == "1"){
$test_complete .="<p>Gefeliciteerd Wim! Je beschikt over genoeg vlinderkennis om de rest van je kado in ontvangst te mogen nemen. Je wachtwoord is: Ijsvogel</p>"; 
}else{
// If any of the questions are not correct lets tell them
$test_complete .='<p>Helaas, nog geen code gekraakt...<a href="javascript:history.go(-1)">Verbeter je fouten!</a></p>'; 
}}}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Quiz!!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body bgcolor='black' text="white">
	<? if(!isset($_POST['submit'])){ ?>
	<h2>Quiz!!</h2>
	<p>Eens kijken hoever de vlinderkennis de afgelopen maanden is gestegen, succes!!!</p>
    <form method="post">
  <p>1. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest1" value="3">
    Yes<br>
    <input type="radio" name="quest1" value="2">
    Maybe<br>
    <input type="radio" name="quest1" value="1">
    No</p>
  <p>2. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest2" value="3">
    Yes<br>
    <input type="radio" name="quest2" value="2">
    Maybe<br>
    <input type="radio" name="quest2" value="1">
    No</p>
  <p>3. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest3" value="3">
    Yes<br>
    <input type="radio" name="quest3" value="2">
    Maybe<br>
    <input type="radio" name="quest3" value="1">
    No</p>
  <p>4. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest4" value="3">
    Yes<br>
    <input type="radio" name="quest4" value="2">
    Maybe<br>
    <input type="radio" name="quest4" value="1">
    No</p>
  <p>5. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest5" value="3">
    Yes<br>
    <input type="radio" name="quest5" value="2">
    Maybe<br>
    <input type="radio" name="quest5" value="1">
    No</p>
	 <p>6. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest6" value="3">
    Yes<br>
    <input type="radio" name="quest6" value="2">
    Maybe<br>
    <input type="radio" name="quest6" value="1">
    No</p>
  <p>7. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest7" value="3">
    Yes<br>
    <input type="radio" name="quest7" value="2">
    Maybe<br>
    <input type="radio" name="quest7" value="1">
    No</p>
  <p>8. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest8" value="3">
    Yes<br>
    <input type="radio" name="quest8" value="2">
    Maybe<br>
    <input type="radio" name="quest8" value="1">
    No</p>
  <p>9. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest9" value="3">
    Yes<br>
    <input type="radio" name="quest9" value="2">
    Maybe<br>
    <input type="radio" name="quest9" value="1">
    No</p>
  <p>10. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest10" value="3">
    Yes<br>
    <input type="radio" name="quest10" value="2">
    Maybe<br>
    <input type="radio" name="quest10" value="1">
    No</p>
	  <p>11. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest11" value="3">
    Yes<br>
    <input type="radio" name="quest11" value="2">
    Maybe<br>
    <input type="radio" name="quest11" value="1">
    No</p>
  <p>12. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest12" value="3">
    Yes<br>
    <input type="radio" name="quest12" value="2">
    Maybe<br>
    <input type="radio" name="quest12" value="1">
    No</p>
  <p>13. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest13" value="3">
    Yes<br>
    <input type="radio" name="quest13" value="2">
    Maybe<br>
    <input type="radio" name="quest13" value="1">
    No</p>
  <p>14. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest14" value="3">
    Yes<br>
    <input type="radio" name="quest14" value="2">
    Maybe<br>
    <input type="radio" name="quest14" value="1">
    No</p>
  <p>15. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest15" value="3">
    Yes<br>
    <input type="radio" name="quest15" value="2">
    Maybe<br>
    <input type="radio" name="quest15" value="1">
    No</p>
	  <p>16. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest16" value="3">
    Yes<br>
    <input type="radio" name="quest16" value="2">
    Maybe<br>
    <input type="radio" name="quest16" value="1">
    No</p>
  <p>17. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest17" value="3">
    Yes<br>
    <input type="radio" name="quest17" value="2">
    Maybe<br>
    <input type="radio" name="quest17" value="1">
    No</p>
  <p>18. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest18" value="3">
    Yes<br>
    <input type="radio" name="quest18" value="2">
    Maybe<br>
    <input type="radio" name="quest18" value="1">
    No</p>
  <p>19. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest19" value="3">
    Yes<br>
    <input type="radio" name="quest19" value="2">
    Maybe<br>
    <input type="radio" name="quest19" value="1">
    No</p>
  <p>20. Welke vlinder zie je hier?<br>
  <img src='foto1.jpg' height='480' width="640"><br>
    <input type="radio" name="quest20" value="3">
    Yes<br>
    <input type="radio" name="quest20" value="2">
    Maybe<br>
    <input type="radio" name="quest20" value="1">
    No</p>
      <p>
    <input type="submit" name="submit" value="Check!">
  </p>
</form>
<? }else{ 
echo "<h2>Quiz Resultaten</h2>
<p>".$test_complete."</p>";
}?>
</body>
</html>
 
Op regel 30 ben je vergeten om "== NULL" achter "$quest20" te zetten.
 
Hoi henri2500,
Hoe kan dat? Dat kan omdat op regel 30 als laatste in het rijtje staat: OR $quest20){. Zonder == NULL er achter.
Dan zal het hele rijtje geïnterpreteerd worden als:
  • Als: (voorwaarde 1 klopt of als voorwaarde 2 klopt ... of als $quest20 bestaat){ dan ...
Maar die variabele bestaat altijd (is gedefinieerd en is wel of niet NULL), dus kom je nooit aan de else toe. :d

Tikfoutje dus.
Ik zou ook de <center> helemaal aan het begin weghalen: dat maakt het invalid html van heb-ik-jou-daar. :shocked:

Als ik die twee dingen doe, en de <p>'s naast elkaar zet om even vlot te kunnen test-invullen, dan gaat het goed met de compleetheid.
Voor alle veiligheid ook de & in het blok van de regels 157/159 hierboven veranderd in &&, want dat is de logische operator voor en-en (en gelijk aan "AND"), zie hier.
Daarmee wordt het deze:



Met vriendelijke groet,
CSShunter
____________
Gevolgde troubleshoot-methode: eerst eens de html-code netjes achter/onder elkaar zetten, zodat eventuele merkwaardigheden beter opvallen.
Toen kwam ie er al gauw uit rollen. :)
Er zitten trouwens nog een paar html-errors in, maar dat mag de pret niet drukken. :D

[edit]Ha, kruispost met Supersnail: had 'm daarvoor al open staan.[/edit]
 
Laatst bewerkt:
Allebei superbedankt! Csshunter, super dat je even op die mail reageerde en me weer een zeer duidelijk verhaal hebt getypt. Top!

Die center staat idd erg slordig, haha, had dat al veranderd toen ik de code naliep op fouten, maar die vergeten = NULL, die had ik gemist. Stom!

En die errors... tja, dat zijn er nogal wat, maar het is maar tijdelijk, en heb weinig tijd, dus dat moet maar zo blijven idd :P.

Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan