ugrás a tartalomhoz

kvíz kiértékelési probléma

Anonymous · 2005. Május. 12. (Cs), 18.49
Sziasztok!
Tudna nekem valaki segíteni?
Nagyon fontos lenne!
Adott egy teszt, ami úgy néz ki, hogy az első oldalon kiválasztom a témkört majd betölti a következő oldalra a kérdéseket és (itt jön a probléma) a kiértékelésnél nem jeleniti meg a helyes megoldásokat.
Vagyis ha a kérdésekre bejelölöm a válaszokat a kiértékelésnél azt irja ki, hogy nem jelöltél meg választ!
Tudna ebben segíteni valaki!
Egyelőre ennyi ha lesz jelentkező (ami nagyon jó lenne) küldöm a forráskódot.
Köszike!
 
1

[colorer=PHP]

Anonymous · 2005. Május. 12. (Cs), 19.13
  1. <?php  
  2. include("config.php");  
  3.   
  4. $db=mysql_connect("$hostname","$user","$pass"or die(mysql_error("Hiba az adatbázisban!"));  
  5. mysql_select_db("$database",$dbor die(mysql_error("Hiba az adatbázisban!"));  
  6.   
  7. $temakor=$_POST[temakor];  
  8.   
  9. $sql="SELECT * FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";  
  10. $display=mysql_query($sql,$dbor die(mysql_error("Hiba az adatbázisban!"));  
  11.   
  12. if (!$submit)  
  13. {  
  14.   
  15.     echo "<form method=post action=$PHP_SELF>";  
  16.     echo "<table border=0>";  
  17.   
  18.     $sql="SELECT count(temakor) FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";  
  19.     $eredmeny=mysql_query($sql,$dbor die(mysql_error("Hiba az adatbázisban!"));  
  20.     $darab=mysql_result($eredmeny,0,'count(temakor)');  
  21.   
  22.     $i=0;  
  23.     while ($row = mysql_fetch_array($display))  
  24.     {  
  25.     $id = $row["id"];  
  26.     $kerdes = $row["kerdes"];  
  27.     $val1 = $row["val1"];  
  28.     $val2 = $row["val2"];  
  29.     $val3 = $row["val3"];  
  30.     $val4 = $row["val4"];  
  31.     $helyes = $row["helyes"];  
  32.     $i++;  
  33.     echo "<center><br><br>  
  34.          <table width=\"70%\" border=\"2\" align=\"center\">  
  35.          <td width=\"3%\"></td>  
  36.          <tr>  
  37.          <td colspan=3><br><b>$i$kerdes</b></td>  
  38.          </tr>  
  39.   
  40.          <tr>  
  41.          <td><input type=radio name=jo$id value=\"$val1\"></td>  
  42.          <td>$val1</td>  
  43.          </tr>  
  44.   
  45.          <tr>  
  46.          <td><input type=radio name=jo$id value=\"$val2\"></td>  
  47.          <td>$val2</td>  
  48.          </tr>  
  49.   
  50.          <tr>  
  51.          <td><input type=radio name=jo$id value=\"$val3\"></td>  
  52.          <td>$val3</td>  
  53.          </tr>  
  54.   
  55.          <tr>  
  56.          <td><input type=radio name=jo$id value=\"$val4\"></td>  
  57.          <td>$val4</td>  
  58.          </tr>  
  59.          <br><br>";  
  60.   
  61.     }  
  62.   
  63.     echo "</table>";  
  64.     echo"<input name=\"temakor\" type=\"hidden\" value='$temakor'>";  
  65.     echo "<br><input type='submit' value='Lássuk az eredményt' name='submit'></br>";  
  66.     echo "</form>";  
  67.   
  68. }  
  69. elseif ($submit)  
  70. {  
  71.     //$sql="SELECT count(temakor) FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";  
  72.     //$eredmeny=mysql_query($sql,$db) or die(mysql_error("Hiba az adatbázisban!"));  
  73.     //$darab=mysql_result($eredmeny,0,'count(temakor)');  
  74.   
  75.     $score = 0;  
  76.     $total = mysql_num_rows($display);  
  77.     while ($result = mysql_fetch_array($display))  
  78.         {  
  79.         $helyes = $result["helyes"];  
  80.         $jo = $result["jo"];  
  81.   
  82.         if ($$jo == $helyes)  
  83.            {  
  84.            $score++;  
  85.            }  
  86.         }  
  87.   
  88.     echo "<p align=center><b>A $total kérdésből $score db jó választ adtál!</b></p>";  
  89.     echo "<p>";  
  90.   
  91.     if   ($score == $total) {  
  92.     echo "Gratulálok! Minden kérdésre jól válaszoltál!";  
  93.     }  
  94.     elseif ($score/$total < 0.34) {  
  95.     echo "Sajna! Nem a legjobb, de ne aggódj ez csak egy kvíz. Próbáld meg mégegyszer!";  
  96.     }  
  97.     elseif ($score/$total > 0.67) {  
  98.     echo "Nagyszerű! De a tudásod nem hibátlan.";  
  99.     }  
  100.     else {  
  101.     echo "Nem rossz! De egy pár kérdésre nem válaszoltál helyesen!!";  
  102.     }  
  103.     echo "</p>";  
  104.   
  105. echo "<p>Itt van a megoldás:";  
  106.   
  107. echo "<table border=0>";  
  108.   
  109. $temakor=$_POST[temakor];  
  110.   
  111. $sql = "SELECT * FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";  
  112. $display = mysql_query($sql,$db);  
  113.   
  114. while ($row = mysql_fetch_array($display))  
  115. {  
  116.     $kerdes = $row["kerdes"];  
  117.     $helyes = $row["helyes"];  
  118.     $jo = $row["jo"];  
  119.   
  120.     echo "<tr><td><br>$kerdes</td></tr>";  
  121.   
  122.     if ($$jo == $helyes)  
  123.         {  
  124.         echo "<tr><td>&raquo;A te válaszod ${$jo}, ami a jó megoldás.</td></tr>";  
  125.         }  
  126.     elseif ($$jo == "")  
  127.         {  
  128.         echo "<tr><td>&raquo;Nem jelöltél meg választ. A jó megoldás $helyes.</td></tr>";  
  129.         }  
  130.     else  
  131.         {  
  132.         echo "<tr><td>&raquo;A te válaszod ${$jo}. A jó megoldás pedig $helyes.</td></tr>";  
  133.         }  
  134. }  
  135. echo "</table></p>";  
  136. }  
  137. ?>  
2

$submit

kgyt · 2005. Május. 12. (Cs), 20.49
$submit helyett $_POST['submit'], vagy $_REQUEST['submit'].
Tovább nem is néztem...


--
Szeretettel: Károly György Tamás
kgyt&kgyt.hu - http://kgyt.hu
3

Sajnos még mindig nem

Anonymous · 2005. Május. 13. (P), 15.06
Sajnos még mindig nem műkszik!
Jó lenne ha valaki tesztelné is.
Szerintem valahol ott lehet a bibi, hogy nem akarja letárolni a helyes megoldást! Valamint a végén nem olvassa ki.
Az a baj hogy én sem látom át.
Nem tudok rájönni mi lehet a hiba!
Valaki!!!!
Help!!!!
Plíííz!!!!
5

Ha még időm lenne is rá,

halee · 2005. Május. 13. (P), 15.19
Ha még időm lenne is rá, elég nehéz lenne a config.php és az adatbáis nélkül tesztelni... :)
6

prog.hu

Anonymous · 2005. Május. 14. (Szo), 19.42
Nézd meg ott.
4

Miért van idézőjelben a 4

halee · 2005. Május. 13. (P), 15.16
Miért van idézőjelben a 4 változó a mysql_connect-nél és a select_db-nél?

Illetva mi van a config.php-ban