我想知道如果用户点击了提交按钮,它会检查用户是否勾选了所有的单选按钮。
这是我到目前为止尝试过的:
$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/