【发布时间】:2020-01-15 10:28:26
【问题描述】:
我想显示正确答案的数量,但我的页面在提交后正在重新加载。代码是在加载后比较数据,而不是输入数据。 我应该如何防止在提交后不刷新/重新加载页面并只显示结果。我不希望你使用 Javascript 或 Jquery
如果使用How to avoid page reload in php form submission 提交我的页面后,只需重定向到新标签,不会发生其他任何事情,我会收到新的问题和玩游戏的选择。看起来 foreach 循环有问题,每次处理提交时它都会循环。
提交后如何禁用刷新页面?
<?php
include "sql.php";
?>
<body>
<form method="POST" >
<ul>
<?php foreach($list as $key=>$value) :?>
<?php
$option = [$value['capitol'], $value['choice1'], $value['choice2']];
shuffle($option);
?>
<li> <h5>What is capitol city of <?php echo $value['country']."?";?></h5> </li>
<input type="radio" name="<?=$value['id']?>" value="<?=$option[0]?>" required> <?=$option[0]?>
<br>
<input type="radio" name="<?=$value['id']?>" value="<?=$option[1]?>" > <?=$option[1]?>
<br>
<input type="radio" name="<?=$value['id']?>" value="<?=$option[2]?>" > <?=$option[2]?>
<br>
<?php endforeach;?>
</ul>
<input type="submit" name='submit'>
</form>
</body>
<?php
if(isset($_POST['submit'])){
$correct=0;
foreach($list as $key=>$value){
$answer = $_POST[$value['id']];
if($answer == $value['capitol'] ){
$correct++;
}
}
echo "Correct answers " .$correct;
}
?>
</html>
【问题讨论】:
-
没有 javascript 是不可能的。仅使用 PHP 无法阻止页面重新加载。
-
@MuhammadTashfeen 感谢您的回答,在这种情况下您建议我做什么?
-
像他说的那样使用javascript。
标签: php