Multidesk.be » Forums » PHP » Uitgebereid tafel

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Gast_1557 op zondag 6 april 2008 om 15:45:44.
Gast_1557 heeft nog geen avatar toegevoegd
Multiviteit: 560
Get Low
Hoi allemaal,

Mijn opdracht is:
Maak een script in PHP waarmee een gebruiker op kan geven welke tafel hij of zij wil oefenen. In een database moet worden bewaard wanneer de persoon een tafel heeft geoefend en welke tafel dit was. Ook moet worden opgeslagen in de db wat de resultaten zijn van de persoon. Als de persoon alle vragen goed heeft beantwoord moet worden weergegeven dat hij geslaagd is. Als er de persoon niet geslaagd is, moet in de db worden opgeslagen welke tafel niet gelukt is. De persoon moet met een klik op een knop de resultaten kunnen opvragen.

Validatie:
Controleer of de persoon een naam heeft opgegeven.
Controleer of de ingegeven tafel wel een positief getal is
De persoon moet minstens 10x een tafel oefenen waarbij de sommen willekeurig gegeven worden.
Controleer of er geen html-tags, php-scripts of javascripts worden ingevuld!

dit is mijn code:
PHP
  1.  
  2. <?php
  3.  
  4. //Eidjaz Parwaz
  5. /*
  6. Opdracht 4 PHP:
  7.  
  8. Maak een script in PHP waarmee een gebruiker op kan geven welke tafel hij of zij wil oefenen. In een database moet worden bewaard wanneer de persoon een tafel heeft geoefend en welke tafel dit was. Ook moet worden opgeslagen in de db wat de resultaten zijn van de persoon. Als de persoon alle vragen goed heeft beantwoord moet worden weergegeven dat hij geslaagd is. Als er de persoon niet geslaagd is, moet in de db worden opgeslagen welke tafel niet gelukt is. De persoon moet met een klik op een knop de resultaten kunnen opvragen.
  9.  
  10. Validatie:
  11. Controleer of de persoon een naam heeft opgegeven.
  12. Controleer of de ingegeven tafel wel een positief getal is
  13. De persoon moet minstens 10x een tafel oefenen waarbij de sommen willekeurig gegeven worden.
  14. Controleer of er geen html-tags, php-scripts of javascripts worden ingevuld!
  15.  
  16. Succes!
  17.  
  18. Script a.u.b. uploaden vr 8 april 2008.
  19. */
  20.  
  21. if (!isset($_GET['submit']))
  22. {
  23.         showform();
  24. }
  25. else
  26. {
  27.         handleform();
  28.         klaarwerk();
  29. }
  30.  
  31.  
  32. function klaarwerk() //hier wordt u resultaat weergegeven
  33. {
  34. if (!isset($_GET['klaar']) && ($_GET['invoer'] == $resultaat ))
  35. {
  36. echo "<input type='submit' name='klaar' value='Klaar!'>";
  37. }
  38. }
  39.  
  40. function showform() //Hierin word de formulieer weergegeven
  41. {
  42. <form name='form' method='get' action='".$_SERVER['PHP_SELF']."'>
  43. <input type='text' name='naam' value='".$_GET['naam']."'> : Naam
  44. <br>
  45. <input type='text' name='achternaam' value='".$_GET['achternaam']."'> : Achternaam
  46. <br>
  47. <select name='tafels'>
  48. <option>Kies tafel</option>
  49. <option VALUE='1'>1</option>
  50. <option VALUE='2'>2</option>
  51. <option VALUE='3'>3</option>
  52. <option VALUE='4'>4</option>
  53. <option VALUE='5'>5</option>
  54. <option VALUE='6'>6</option>
  55. <option VALUE='7'>7</option>
  56. <option VALUE='8'>8</option>
  57. <option VALUE='9'>9</option>
  58. <option VALUE='10'>10</option>
  59. </select>
  60. <br>
  61. <input type='submit' name='submit' value='Begin!'>
  62. <br>
  63. </form>
  64. ";
  65. }
  66.  
  67. function handleform() //Hierin word de formulier behandeld
  68. {
  69. //Variabel maken van $_GET
  70. $naam = $_GET['naam'];
  71. $achternaam = $_GET['achternaam'];
  72. $tafels = $_GET['tafels'];
  73. $invoer = $_GET['invoer'];
  74.  
  75. //Sessievariabelen waarden toekennen
  76. $_SESSION['naam'] = $naam;
  77. $_SESSION['achternaam'] = $achternaam;
  78. $_SESSION['tafels'] = $tafels;
  79.  
  80. //Controle over de 3 inputvelden: naam, achternaam, tafels
  81. if($_SESSION['naam'] == "")
  82. {
  83.         echo "<br /><FONT COLOR='red' />Vul a.u.b. uw naam in\n";
  84. }
  85. if($_SESSION['achternaam'] == "")
  86. {
  87.         echo "<br /><FONT COLOR='red' />Vul a.u.b. uw achternaam in\n";
  88. }
  89. if($_SESSION['tafels'] == "" || !is_numeric($_SESSION['tafels']))
  90. {
  91.         echo "<br /><FONT COLOR='red' />Kies a.u.b. een Tafel die u wilt oefenen\n";
  92. }
  93.  
  94. else
  95. {
  96. //Naam en achternaam weergeven
  97.         echo $naam." ".$achternaam."<br> \n";
  98.  
  99. //Het weergeven en uitreken van tafels
  100. $tafels = $tafels; //variabele tafels vind je terug in <OPTION> functie van HTML
  101. for ($nr=1; $nr<=10; $nr++) { //variabele nr$ heeft waarde 1 door ++ gaat de waard omhoog
  102.         $resultaat = $nr*$tafels; //variabele $resultaat is een invoer veld
  103.         echo $nr." X ".$tafels." = "."<input type='text' size='5' name='invoer' value='".$_GET['invoer']."'>"."<br> \n";
  104.         }
  105.  }
  106. }
  107.  
  108. //$getal = mt_rand(1,10);
  109. //echo $getal;
  110. ?>
  111.  


Wat is mijn vraag?
Ik loop vast bij de tweede stap van mijn opdracht; ik moet namelijk gaan controleren of ze de juiste antwoord hebben ingevoerd zo ja dan is het goed en zo niet moet er weergegeven worden wat ze nou verkeerd hebben ingevoerd.

ik plaats even een screenshot voor mensen die geen zin hebben om mijn code te testen op hun eigen pc:

Bijlage: 32e1b3ee5847c90c4486077f8ae44808.bmp

Bedankt allemaal voor het lezen ;)

Ciaao_O_
^ Reactie #1 geschreven door Martijn op zondag 6 april 2008 om 16:33:02.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Ik zou in een hidden fields de tafel opslaan die weergegeven wordt. Ofwel maak je 10 inputvelden met elk een verschillende naam ofwel geef je deze een naam zodat ze een array vormen (invoer[]).

Welke methode je ook kiest, bij de verwerking loop je gewoonweg van 1 tot 10 en check je elk ingetypt resultaat of het numeriek is en of de uitkomst klopt met de tafel * $i, waarbij $i de positie in de loop is.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door Gast_1557 op zondag 6 april 2008 om 16:34:15.
Gast_1557 heeft nog geen avatar toegevoegd
Multiviteit: 560
Get Low
ik snap wat je bedoelt maar ik ben net begonnen met php en het is voor mij heel erg moelijk om het in code te werken zou je misschien een voorbeeld willen geven ;)
Deze tekst werd het laatst bewerkt voor 60.38 % door Gast_1557 op zondag 6 april 2008 om 16:38:52.
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen