PHP 检查单选按钮是否被点击

标签 php mysql

我想知道如果用户点击了提交按钮,它会检查用户是否勾选了所有的单选按钮。

这是我到目前为止尝试过的:

  $stmt = $conn->prepare( "SELECT *
      FROM tblquiz ORDER BY rand()" );
      $stmt->execute();

  ?>
  <form method="post" action="checkquiz.php">
    <?php 
    $number = 0;
    for($i=0; $row = $stmt->fetch(); $i++){
            $number++;  
            $id = $row['_id'];
            $question = $row['question'];
            $answers = array($row['answer1'],$row['answer2'],$row['answer3'],$row['correctanswer']);
            shuffle($answers);
    ?>

     <h4> <?php echo $number . ".) " . $question; ?></h4>   
     <label><input type="radio" value="<?php echo $answers[0]; ?>" name="<?php echo $question; ?>"> <?php echo $answers[0]; ?></label>
     <label><input type="radio" value="<?php echo $answers[1]; ?>" name="<?php echo $question; ?>"> <?php echo $answers[1]; ?></label>
     <label><input type="radio" value="<?php echo $answers[2]; ?>" name="<?php echo $question; ?>"> <?php echo $answers[2]; ?></label>
     <label><input type="radio" value="<?php echo $answers[3]; ?>" name="<?php echo $question; ?>"> <?php echo $answers[3]; ?></label>

    <?php
    }
    ?>
    <br />
    <br />
    <input type="submit" value="Submit" name="submit">
</form>

CheckQuiz.php

<?php 


if( isset($_POST['submit'])) {
    //echo 'You clicked submit!';

    if(  ){

    } else {

    }


} else {

    echo "You didn't click submit!";

}


?>

我是新手,所以我真的需要你的帮助。我想先检查是否所有单选按钮都已选中,然后检查用户的答案。你能给我这个的示例实现吗?非常感谢您的帮助。谢谢。

最佳答案

首先,您将所有单选按钮命名为相同的名称。假设它的名字是 question。下面的例子

<input type="radio" name="question" value="1">
<input type="radio" name="question" value="2">
<input type="radio" name="question" value="3">
<input type="radio" name="question" value="4">

然后你可以从服务器访问它的值

if(isset($_POST["question"])){   
   echo $_POST["question"]; 
}else{
  echo "No answers were selected";
}

根据用户需要编辑

如果你有多个问题,那么你可以像下面这样使用

Question 1:

<input type="radio" name="question[1]" value="1">
<input type="radio" name="question[1]" value="2">
<input type="radio" name="question[1]" value="3">
<input type="radio" name="question[1]" value="4">

Question 2:

<input type="radio" name="question[2]" value="1">
<input type="radio" name="question[2]" value="2">
<input type="radio" name="question[2]" value="3">
<input type="radio" name="question[2]" value="4">

然后你可以像下面这样迭代:

   $quest = $_POST['question'];
   foreach($quest as $key=>$val){
         echo "Question ".$key." answer is ".$val."<br/>";
   }

关于PHP 检查单选按钮是否被点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21178845/

相关文章:

mysql - 显示数据库 MySQL VB.net 的最后一行

javascript - 使用 jquery 将值从表传递到函数

php - 按步骤逻辑进行测验算法

PHP删除特定字符串之前的所有字符

php - 有没有办法检查结果是表中的最后一个(最高 ID)?

php - PDO:使用 mysql INSERT ON DUPLICATE KEY UPDATE 检查更新或插入的记录

php - 如何在 cakephp 树中订购项目

php - 我应该在哪里使用 isset() 和 !empty()

PHP 不工作,数据库不更新

PHP - 通知 : Undefined variable happening twice