php中单选按钮的情况下的未定义索引


undefined index in case of radio button in php

我是PHP新手。我正在制作一个在线考试系统。我用单选按钮回答。它们的使用方式使得每个问题都以一组单选按钮结束。所以我使用while循环从数据库中检索问题并放置收音机。现在,当我要检查radio的值时,它显示"注意:未定义的索引:ques1"。

<html>
<head>
<title>EXAM</title>
</head>
<body>
<?PHP
 $i=1;
 $j=1;
 $user_name = "root";
 $password = "";
 $database = "online_exam";
 $server = "127.0.0.1";
 $db_handle = mysql_connect($server, $user_name, $password);
 mysql_connect($server, $user_name, $password);
 $db_found = mysql_select_db($database);
 if ($db_found)
 { session_start();
  if(isset($_POST['b_subject']))
    {
       $selected_button=$_POST['subject'];
       if($selected_button=='subject1')
            $_SESSION['$sub']= "GK";
        else if($selected_button=='subject2')
            $_SESSION['$sub']="math";
        else
            print "error";
    }
      $c = $_SESSION['$cour'];
  $s = $_SESSION['$sub'];
  $SQL = "SELECT ques FROM ques_ans WHERE course='$c' AND subj='$s'";
  $result = mysql_query($SQL);
  while ( $db_field = mysql_fetch_assoc($result) ) 
    {
         print $db_field['ques']."<BR>";
?>
<FORM name ="form1" method ="post"  >  
         <Input type = 'Radio' Name ='ques'.$i value= '1'>YES
         <Input type = 'Radio' Name ='ques'.$i value= '0'>NO
</FORM>        
<?PHP           
          $i++;         
    }     
  mysql_close($db_handle);
}
?>
<FORM name ="form1" method ="post" > 
 <input type="submit" name="submit" id="submit" value="SUBMIT"/>
</FORM>
<?PHP
if (isset($_POST['submit'])) 
{
$selected_radio = $_POST['ques'.$j];
 if ($selected_radio == '1') 
  {
   $ans='1';
  }
 else if ($selected_radio == '0') 
  {
    $ans='0';
  }
print $ans;
}
?>
</body>
</html>
Fixed the echo out and you were echoing a seperate form out, all inputs need to be in the same <form>

<html>
<head>
<title>EXAM</title>
</head>
<body>
<?PHP
 $i=1;
 $j=1;
 $user_name = "root";
 $password = "";
 $database = "online_exam";
 $server = "127.0.0.1";
 $db_handle = mysql_connect($server, $user_name, $password);
 mysql_connect($server, $user_name, $password);
 $db_found = mysql_select_db($database);
 if ($db_found)
 { session_start();
  if(isset($_POST['b_subject']))
    {
       $selected_button=$_POST['subject'];
       if($selected_button=='subject1')
            $_SESSION['$sub']= "GK";
        else if($selected_button=='subject2')
            $_SESSION['$sub']="math";
        else
            print "error";
    }
      $c = $_SESSION['$cour'];
  $s = $_SESSION['$sub'];
  $SQL = "SELECT ques FROM ques_ans WHERE course='$c' AND subj='$s'";
  $result = mysql_query($SQL);
echo '<FORM name ="form1" method ="post"  >'; // Echo the form header
  while ( $db_field = mysql_fetch_assoc($result) ) 
    {
         print $db_field['ques']."<BR>";
?>
             <Input type = 'Radio' Name ='ques<?PHP echo $i;?>' value= '1'>YES
             <Input type = 'Radio' Name ='ques<?PHP echo $i;?>' value= '0'>NO       
<?PHP           
          $i++;         
    }     
echo '<input type="submit" name="submit"></form>'; // Close form
  mysql_close($db_handle);
}
if (isset($_POST['submit'])) 
{
$selected_radio = $_POST['ques'.$j];
 if ($selected_radio == '1') 
  {
   $ans='1';
  }
 else if ($selected_radio == '0') 
  {
    $ans='0';
  }
print $ans;
}
?>
</body>
</html>