PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
Im trying to make a test page using php and mysql. The test is automaticaly made from a mysql table. What i want to do is name each form part with a variable and then get the name of the variable and pass it on to another page (or the same that doesn't matter) so that i can grade the test submitted. The code i used is:
You are putting the results in the page? This is a bad idea as anyone could do a view source and see the results! Hidden inputs are still written into the page code, just not displayed on the screen.
<?
$username="root";
$password="****";
$database="****";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$table=$_POST['table'];
$query="SELECT * FROM $table";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
$id=mysql_result($result,$i,"id");
$type=mysql_result($result,$i,"type");
$question=mysql_result($result,$i,"question");
$answ1=mysql_result($result,$i,"answ1");
$answ2=mysql_result($result,$i,"answ2");
$answ3=mysql_result($result,$i,"answ3");
$answ4=mysql_result($result,$i,"answ4");
$sosto=mysql_result($result,$i,"sosto");
$j=$_POST['$j'];
$sum=0;
$count=0;
echo "<b><center>$table</center></b><br><br>";
echo"<input type='hidden' name='$j' value='$j' />";
//$j=1;
//[b]as the name of my form elements is $j i used POST to get these variables and assigned them to a new variable called $x[/b] as shown below
for ($j=1;$j<$num;$j++){
$x=$_POST['$j'];
//$sosto is the right answ from my datadase and $sum is a variable that i want to use so that i can grade the test.
echo "sosto is $sosto<br>";
echo"$j<br>";
echo "$x<hr><br>";
if($x==$sosto){
$sum=$sum+100;
$count=$count+1;
echo "sum is $sum<br>";
}
else{
$sum=$sum+0;
$count=$count+1;
echo "sum is $sum<br>";}
}
?>
But this returns only the $j from the previus page . The if($x==$sosto) doesn't seem to work
To start with i wanted to write BUT ok sorry about that. line 38 is $x=$_POST['$j']; i tried the same thing using $j=$_POST['$j']; but it returned a time overflow message.
I realised that that doesn't work but i cant think of a way to make this hole thing work. Do you have any idea of how to make this script work? Even a hole new idea would be appriciated.
The hole idea is to make a test out of a mysql table. I did that the test is created and now i want to grade the test. So i thought that if i could name the radio buttons and the other elements of the form with a variable ($j) because the number of questions varies. My main problem is how to get the inputs of the test as the name of my form elements is a variable.