-1

如何以数组格式获取无线电组的值?这是我的发送者(game.php)和接收者(result.php)

我想用数据库中的正确答案检查无线电组元素(是或否),如果正确则增加分数。

游戏.php:

    $conn=  mysql_connect($servername,$username, $password)or die(mysql_error());
    mysql_select_db($database,$conn);

    $sql = "SELECT * from questions";
    $result=mysql_query($sql);
    $num=mysql_numrows($result);

    $i=0;
    echo("<FORM ACTION='./result.php' METHOD=GET>");
    while($i < $num){
        $field = array($i => mysql_result($result,$i,"question"));
        $j = $i + 1;
        echo "<b>[$j]  </b>$field[$i]<br>";
        echo ("<label>
      <input type='radio' name='radioGroup[$i]' value='yes' id='radioGroup_1'>
      Yes</label><label>
      <input type='radio' name='radioGroup[$i]' value='no' id='radioGroup_1'>
      No</label><br>");
    $i++;   
    }

    echo "<input type='submit'>"; 
    echo("</FORM>");
    echo("<br>");

结果.php:

    $conn=  mysql_connect($servername,$username, $password)or die(mysql_error());
    mysql_select_db($database,$conn);

    $sqlcode = "SELECT * FROM questions";
    $cal=mysql_query($sqlcode);
    $num = mysql_numrows($cal);
    $m=0;

    while ($m < $num){
        $user_answer = array($m => $_GET["radioGroup"]);    
        $m++;
    }



    $k = 0;
    $point = 0;
    $sql = "SELECT * from questions";
    $result=mysql_query($sql);
    while($k < $num){
        $answer = array($k => mysql_result($result,$k,"answer"));

        if ($answer[$k] == $user_answer[$k]){
            $point++ ;  
        }

        echo "puan:";
        echo $point;
        $k++;
    }
4

1 回答 1

4

您不了解如何接收表单值。

在您的代码 ( result.php) 中,这$_GET["radioGroup"]是一个包含所有答案的数组。

试试这个简单的脚本来了解它是如何工作的:

<form>
    <input type='radio' name='radioGroup[1]' value='yes' checked="checked" />
    <input type='radio' name='radioGroup[1]' value='no'  />
    <br/>
    <input type='radio' name='radioGroup[2]' value='yes'  />
    <input type='radio' name='radioGroup[2]' value='no'  checked="checked"  />
    <br/>
    <input type='submit' name='submit' value='true' />
</form>

<pre>
<?php

    if( isset($_GET['submit']) )
    {   
        print_r($_GET);
    }

输出是这样的:

Array
(
    [radioGroup] => Array
        (
            [1] => yes
            [2] => no
        )

    [submit] => true
)
于 2012-07-14T18:42:01.373 回答