如何在php post

时间:2018-11-17 06:59:29

标签: php

正在为学校创建测验。 一切正常 我有一个问题要问:

  • 谁是世界上最富有的人?
  • A。比尔·盖茨
  • B。约瑟夫·贝佐斯
  • C。艾伦·卡什
  • D。克里斯蒂安诺·罗纳尔多

  • 哪个足球俱乐部赢得了3个欧洲冠军联赛冠军 连续几次?

  • A。巴塞罗那
  • B。皇马
  • C。切尔西
  • D。尤文图斯

我的问题是,当用户做出选择时,我想使用post在下一页(称为proccess.php)中获得用户的选择。

  • 谁是世界上最富有的人?
  • 用户的选择:艾伦·卡什
  • 哪个足球俱乐部赢得了3个欧洲冠军联赛冠军 连续几次?
  • 用户的选择:巴塞罗那

但是我得到了:

  • 谁是世界上最富有的人?
  • 用户的选择: Alan Cash 巴塞罗那
  • 哪个足球俱乐部赢得了3个欧洲冠军联赛冠军 连续几次?
  • 用户的选择: Alan Cash 巴塞罗那

这是显示问题的代码(工作正常)

<form action="process.php" method="post">



     <?php
        foreach($questions as $id => $question) {
            echo "<div class=\"form-group\">";
            echo "<ol><li><h5 style='font-weight:bolder'>  $question</h5>"."</li><ol>";//display the question

            //Display multiple choices
            $randomChoices = $choices[$id];
            $randomChoices = shuffle_assoc($randomChoices);
            foreach ($randomChoices as $key => $values){
                echo '<li style="list-style-type: upper-alpha; font-weight:bolder;"><input required="" type="radio" name="response['.$id.']" id="'.$id.'" value="' .$values.'"/>';
            ?>
                <label for="question-<?php echo($id); ?>"><?php echo($values);?></label></li>
        <?php

            }
                echo("</ul>");
                echo("</div>");
            }
           ?>

        <input type="submit" name="submit" class="btn btn-primary" value="Submit Quiz" />
    </form>

这是process.php代码。 它显示给定问题下所有问题的所有用户选择。

<?php
    foreach($questions as $id => $question) {
        echo "<div class=\"form-group\">";
        echo "<h5 style='font-weight:bolder'> $question</h5>"."<ol>";//display the question




            echo '<li style="list-style-type: upper-alpha; font-weight:bolder;">';
        //display user choice 
        ?>

            <label for="question-<?php echo($id); ?>"><?php   foreach($_POST['response'] as $key => $value){
       echo $value;}
       }

  ?></label></li>
    <?php


            echo("</ul>");
            echo("</div>");

        }
       ?>

我的问题是我如何获得process.php每个问题显示一个用户选择。谢谢。

2 个答案:

答案 0 :(得分:2)

设置表单时,您已经...

<input required="" type="radio" name="response['.$id.']" id="'.$id.'" value="' .$values.'"/>

因此,每个输入都有$id,这是问题ID,作为响应的索引(response['.$id.'])。但是在您的process.php文件中,您每次都会遍历所有响应...

foreach($_POST['response'] as $key => $value){
       echo $value;}

如果您只想回答特定问题,则需要选择当前正在显示答案的特定问题的答案...

echo $_POST['response'][$id]

答案 1 :(得分:0)

容易,您的方法是正确的,只是没有正确地回显值,添加“ br”标记将下一个元素移到下一行,请尝试

 echo $value . "<br>";