php - 为页面设置特定的持续时间
问题描述
我想指定表单显示的持续时间。假设有一个值为 的变量x=(10)
,每当我调用此页面时,计时器应基于当前时间,并且表单应显示 10 分钟,然后自动发送表单。
<?php
include 'db_conn.php';
if (isset($_GET['id'])) {
$var=$_GET['id'];
$query="SELECT * FROM addquiz WHERE quz_id='$var' ";
$db=mysqli_query($conn,$query);
$res=mysqli_fetch_array($db);
$noquestions=$res['noquestion'];
$quiz=$res['title'];
}?>
<div class="container">
<form method="POST" class="form-horizontal" >
<div style="margin-left: 30%;"><b>Your Quiz: <?php echo $quiz;?></b>
<input type="text" name="user_name" placeholder="Enter Your Name" style="height: 30px; width: 30%;"></div>
<div class="row">
<div class="col-md-12">
<div class="panel" style="margin:5%">
<?php
$count=1;
$que="SELECT * FROM addques WHERE quz_id='$var'";
$dbd=mysqli_query($conn,$que);
while ($cmd=mysqli_fetch_array($dbd)) {
$quest=$cmd['qusname'];
$ans_id=$cmd['ans_id'];
$opt1=$cmd['qpta'];
$opt2=$cmd['optb'];
$opt3=$cmd['optc'];
$opt4=$cmd['optd'];
$answ=$cmd['answer'];?>
<b>Question <?php echo $count++;?> :<br><?php echo $quest;?></b><br><br>
<fieldset>
<input type="hidden" name="ansid[]" value="<?php echo $ans_id; ?>">
<input type="checkbox" name="ans[]" value="1"><?php echo $opt1;?><br><br>
<input type="checkbox" name="ans[]" value="2"><?php echo $opt2;?><br><br>
<input type="checkbox" name="ans[]" value="3"><?php echo $opt3;?><br><br>
<input type="checkbox" name="ans[]" value="4"><?php echo $opt4?><br><br><br>
</fieldset>
<?php } ?>
<button type="submit" name="submit" class="btn btn-primary">Submit</button>
</form>
<div class="button" style="margin-left: 60%;"> <a href="result.php?name=<?php echo $_POST['user_name'];?>" class="btn btn-info">View Result </a></div>
</div>
</div>
</div>
<?php
$i=0;
if (isset($_POST['submit'])) {
$name=$_POST['user_name'];
while ( $i<$noquestions ) {
$query="INSERT INTO `result`( `quz_id`, `ans_id`, `answer`,`user_name`) VALUES('";
$query.=$var . "', '";
$query.=$_POST['ansid'][$i] . "', '";
$query.=$_POST['ans'][$i] . "', '";
$query.=$name . "' )";
$db=mysqli_query($conn,$query);
$i++;
}
}
?>
解决方案
这取决于您要达到的目标。
正如您所说的“在每次访问页面时”,它可以使用 javascript 来完成:
window.onload = function () {
window.setTimeout(function () {
document.form.submit();
}, 5000);
};
此外,您可以从您的 php 变量中设置超时,就像上面的评论所说的那样,您可以使用 php 在服务器端验证所花费的时间,以确保没有人在作弊。
推荐阅读
- python - 用于发送消息的 Django Postman 实现
- javascript - 仅在焦点上显示可点击项目?
- php - 使用干净 url 的代码创建一个 .htaccess 文件
- c# - 输入字符串在 c# 中的格式不正确?将异常作为 System.formatexception 获取?
- vb.net - vb.net 图表缩小烛台之间的差距
- java - RxJava - observable 中的多个任务
- javascript - Node.js setInterval() 25 天后停止执行
- rest - 两个微服务之间的通信——keycloak客户端
- android - “AAPT2”错误 2018
- dialogflow-es - 给对话流提供预期的口语,这样它就可以尝试用那个来匹配答案