在某段时间过后,PHP中是否有可能POST
表格?我正在我的网站上为学生创建一个测试部分,他们将为MCQ提供答案。时间结束后,结果应立即通过<form action="">
发布到下一页。
请告诉我是否可以有任何其他选择来实现相同目标。
我不喜欢javascript,因为我会有几十个学生,所有人都可能没有在他们的计算机上安装javascript。
编辑以添加我的代码,包括以下答案中的JavaScript:
这不起作用:
<html>
<head>
<script>
window.setTimeout(function() {
document.forms['test_form'].post();
}, 2000);
</script>
</head>
<?php
define("HOST", "localhost"); // The host you want to connect to.
define("USER", "admin"); // The database username.
define("PASSWORD", "admin"); // The database password.
define("DATABASE", "test"); // The database name.
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
//some PHP code wil com here...
?>
<body>
<form action="test_submit.php" method="post" name="test_form">
<label>This is Question #1:</label>
<input type="radio" name="ans1" id="ans1">Answer1</input>
<input type="radio" name="ans2" id="ans2">Answer2</input>
</form>
</body>
</html>
我预计在2秒后它不会将页面转发到test_submit.php ......
答案 0 :(得分:7)
简单的答案是否定的。 PHP是一种服务器端语言,无法控制客户端(例如浏览器)。
你能做到你想要的唯一方法就是使用JavaScript。 JavaScript允许您控制表单流,包括提交表单。
window.setTimeout(function() {
document.forms['form_name'].submit();
}, 1000);
form_name
是你的表格,1000是以毫秒为单位延迟发帖的时间(即1000 = 1秒)。
如果您的表单没有名称(但有ID),您也可以使用DOM执行此操作:
window.setTimeout(function() {
document.getElementById('form_id').submit();
}, 1000);
form_id
是您表单的ID属性。