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
<?php
include("config.php");

$db=mysql_connect("$hostname","$user","$pass") or die(mysql_error("Hiba az adatbázisban!"));
mysql_select_db("$database",$db) or die(mysql_error("Hiba az adatbázisban!"));

$temakor=$_POST[temakor];

$sql="SELECT * FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";
$display=mysql_query($sql,$db) or die(mysql_error("Hiba az adatbázisban!"));

if (!$submit)
{

	echo "<form method=post action=$PHP_SELF>";
	echo "<table border=0>";

    $sql="SELECT count(temakor) FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";
   	$eredmeny=mysql_query($sql,$db) or die(mysql_error("Hiba az adatbázisban!"));
   	$darab=mysql_result($eredmeny,0,'count(temakor)');

    $i=0;
	while ($row = mysql_fetch_array($display))
    {
    $id = $row["id"];
    $kerdes = $row["kerdes"];
	$val1 = $row["val1"];
	$val2 = $row["val2"];
	$val3 = $row["val3"];
    $val4 = $row["val4"];
	$helyes = $row["helyes"];
    $i++;
	echo "<center><br><br>
    	 <table width=\"70%\" border=\"2\" align=\"center\">
         <td width=\"3%\"></td>
         <tr>
    	 <td colspan=3><br><b>$i. $kerdes</b></td>
         </tr>

		 <tr>
    	 <td><input type=radio name=jo$id value=\"$val1\"></td>
         <td>$val1</td>
         </tr>

         <tr>
         <td><input type=radio name=jo$id value=\"$val2\"></td>
         <td>$val2</td>
         </tr>

         <tr>
		 <td><input type=radio name=jo$id value=\"$val3\"></td>
         <td>$val3</td>
         </tr>

         <tr>
         <td><input type=radio name=jo$id value=\"$val4\"></td>
         <td>$val4</td>
         </tr>
         <br><br>";

	}

	echo "</table>";
    echo"<input name=\"temakor\" type=\"hidden\" value='$temakor'>";
	echo "<br><input type='submit' value='Lássuk az eredményt' name='submit'></br>";
	echo "</form>";

}
elseif ($submit)
{
    //$sql="SELECT count(temakor) FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";
   	//$eredmeny=mysql_query($sql,$db) or die(mysql_error("Hiba az adatbázisban!"));
   	//$darab=mysql_result($eredmeny,0,'count(temakor)');

	$score = 0;
	$total = mysql_num_rows($display);
	while ($result = mysql_fetch_array($display))
        {
        $helyes = $result["helyes"];
		$jo = $result["jo"];

		if ($$jo == $helyes)
		   {
		   $score++;
		   }
        }

	echo "<p align=center><b>A $total kérdésből $score db jó választ adtál!</b></p>";
	echo "<p>";

	if   ($score == $total) {
	echo "Gratulálok! Minden kérdésre jól válaszoltál!";
	}
	elseif ($score/$total < 0.34) {
	echo "Sajna! Nem a legjobb, de ne aggódj ez csak egy kvíz. Próbáld meg mégegyszer!";
	}
	elseif ($score/$total > 0.67) {
	echo "Nagyszerű! De a tudásod nem hibátlan.";
	}
	else {
	echo "Nem rossz! De egy pár kérdésre nem válaszoltál helyesen!!";
	}
	echo "</p>";

echo "<p>Itt van a megoldás:";

echo "<table border=0>";

$temakor=$_POST[temakor];

$sql = "SELECT * FROM kerdoiv WHERE temakor='$temakor' ORDER BY id";
$display = mysql_query($sql,$db);

while ($row = mysql_fetch_array($display))
{
	$kerdes = $row["kerdes"];
	$helyes = $row["helyes"];
	$jo = $row["jo"];

	echo "<tr><td><br>$kerdes</td></tr>";

	if ($$jo == $helyes)
		{
		echo "<tr><td>&raquo;A te válaszod ${$jo}, ami a jó megoldás.</td></tr>";
		}
	elseif ($$jo == "")
		{
		echo "<tr><td>&raquo;Nem jelöltél meg választ. A jó megoldás $helyes.</td></tr>";
		}
	else
		{
		echo "<tr><td>&raquo;A te válaszod ${$jo}. A jó megoldás pedig $helyes.</td></tr>";
		}
}
echo "</table></p>";
}
?>
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