echo "<form name='form1' action="$PHP_SELF" method=post>";
这一行改为
echo "<form name='form1' action='$PHP_SELF' method=post>";语法错误,"要转义

解决方案 »

  1.   

    while ($array=mysql_fetch_array($query))
    是不是应该用list列出你需要的字段?
      

  2.   

    to  _Shakespeare(网络骑士) :
    不用,mysql_fetch_array返回的是当前纪录的数组,索引为字段名楼主:
    当用户选择后能给出记录用户的选项
    这句话是什么意思?
      

  3.   

    >_shakespeare 
    我现在的错误好像在$answer上
    我用"echo sizeof($anwer) "它始终显示为0.
    我想的是只要按提交,就显示用户选项,请帮忙帮助实现
      

  4.   

    >wasy
    我这段程序将正确显示问题
    如:
    1、1+1=?
    a.2 b.3 c.4 d.5
    2、3+3=?
    a.5 ......
    现在问题显示出来了,当用户选择完后,按了提交,我应从$answer中知道用户的选择,但我确实现不了,请帮忙
      

  5.   

    可能是你php.ini设置问题
    更改register_globals = on
      

  6.   

    可能是你php.ini设置问题
    更改register_globals = on
      

  7.   

    >wasy
    我的$register_globals=on
      

  8.   

    我在想是不是错在这里
    一般的表单问题都是这样的:先在html中显示问题的选项,再在php中进行处理
    我确不是这样, 而是在php中要显示选项,又要处理结果,可能存在逻辑错误,但如何
    处理这样的问题呢?
      

  9.   

    显示和处理不矛盾刚才没有仔细看你的代码
    我认为你思路不对,难道你所以的题目的答案都用answer[]名称吗,这样岂不是只能选择一个。
    改成:
    "<input type='radio' name='".$array[id]."' value='a'>$array[a]",  
    //$array[id]---记录号
    //$array[timu]----题目
     //$array[a]-$array[d]---a.b,c,d四个选项
    "<input type='radio' name='".$array[id]."' value='b'>$array[b]",  
    "<input type='radio' name='".$array[id]."' value='c'>$array[c]", 
    "<input type='radio' name='".$array[id]."' value='d'>$array[d]");用记录号来取名称,这样不更好吗
      

  10.   

    >wasy
    还是不行~><~
    "<input type='radio' name='".$array[id]."' value='b'>$array[b]",  
    我不知道你的".$array[id]."的用意,另外我觉得我的$answer[]和你的$array[id]差不多因为每加一个新题$answer的下标会自动加1 , 如$answer[]=1;
    $answer[]=2
    请 wasy一定帮我这个忙
      

  11.   

    我的意思是说你所有的radio控件名称都为name='answer[]',那岂不是所有的radio控件只能选择一个,也就是用户只能回答一道题!
    我的代码的意思是让具体每一个题目的答案的控件名称才取一样的名称。而这个名称最好用以$array[id]为基础动态取名称。
    如:
    "<input type='radio' name='answer".$array[id]."' value='b'>$array[b]"  
    如果这个题目的id为23,那么它的答案的控件名称都为answer23,提交以后id为23的题目所选择的答案就是$answer23,明白吗?
      

  12.   

    我的意思是说你所有的radio控件名称都为name='answer[]',那岂不是所有的radio控件只能选择一个,也就是用户只能回答一道题!
    我的代码的意思是让具体每一个题目的答案的控件名称才取一样的名称。而这个名称最好用以$array[id]为基础动态取名称。
    如:
    "<input type='radio' name='answer".$array[id]."' value='b'>$array[b]"  
    如果这个题目的id为23,那么它的答案的控件名称都为answer23,提交以后id为23的题目所选择的答案就是$answer23,明白吗?
      

  13.   

    建议你只用一个form,不用每个题目都要一个form。不然你岂不是每次只能校验一个题目的答案.
    而且既然是单选题,不用取名answer[],用answer+id号命名就行了。
      

  14.   

    eg:
    <?
    if($HTTP_POST_VARS[sub]){//选择的答案
    while(list($k,$v)=each($HTTP_POST_VARS))
    if(substr($k,0,6)=="answer")
    echo "第".substr($k,6)."题选择了".$v."<BR>";
    exit();
    }$ques=array(array('id'=>1,'title'=>"选择城市",'a'=>"武汉",'b'=>"北京",'c'=>"重庆",'d'=>"南京"),
    array('id'=>5,'title'=>"选择国家",'a'=>"中国",'b'=>"日本",'c'=>"美国",'d'=>"韩国"));
    for($n=0;$n<count($ques);$n++){
    $str.=$ques[$n][id].".".$ques[$n][title]."<BR>";
    $str.="  <input type=radio name=answer".$ques[$n][id]." value=a>A.".$ques[$n]['a']."<BR>";
      

  15.   

    eg:
    <?
    if($HTTP_POST_VARS[sub]){//选择的答案
    while(list($k,$v)=each($HTTP_POST_VARS))
    if(substr($k,0,6)=="answer")
    echo "第".substr($k,6)."题选择了".$v."<BR>";
    exit();
    }$ques=array(array('id'=>1,'title'=>"选择城市",'a'=>"武汉",'b'=>"北京",'c'=>"重庆",'d'=>"南京"),
    array('id'=>5,'title'=>"选择国家",'a'=>"中国",'b'=>"日本",'c'=>"美国",'d'=>"韩国"));
    for($n=0;$n<count($ques);$n++){
    $str.=$ques[$n][id].".".$ques[$n][title]."<BR>";
    $str.="  <input type=radio name=answer".$ques[$n][id]." value=a>A.".$ques[$n]['a']."<BR>";
      

  16.   

    接上:
    $str.="  <input type=radio name=answer".$ques[$n][id]." value=b>B.".$ques[$n]['b']."<BR>";
    $str.="  <input type=radio name=answer".$ques[$n][id]." value=c>C.".$ques[$n]['c']."<BR>";
    $str.="  <input type=radio name=answer".$ques[$n][id]." value=d>D.".$ques[$n]['d']."<BR>";
    }
    ?>
    <FORM METHOD=POST ACTION="<?=$PHP_SELF?>" name=form1>
    <?=$str?>
    <input type=submit name=sub value="send">
    </FORM>