我想在 drupal 6 中创建一个表单,用户可以在有限的时间内(例如:10 分钟)强制填写字段。
我想在我的代码的服务器端处理这个限制时间。我不希望用户可以通过更改系统时钟来更改时间。
没有 $_SESSION 有可能吗?
使用PHP 会话。像这样的东西应该工作:
//Set your start time when the user enters the page:
session_start();
if(!isset($_SESSION['start_time'])){
$_SESSION['start_time'] = time();
}
//Check the current time against the start time when the user submits:
if(!isset($_SESSION['start_time'])){
$elapsed = time() - $_SESSION['start_time'];
$limit = 10*60; //Since time() is in seconds, multiply desired # of minutes by 60
if($elapsed <= $limit){
//It took less than 10 minutes
}else{
//It took more than 10 minutes
}
}
如何存储用户开始与表单交互的时间,并在提交时检查时间是否已经过去?
您可以使用会话存储特定用户的时间。
这些是您需要执行此操作的参考:
http://php.net/manual/en/function.session-start.php
http://se2.php.net/manual/en/function.date.php
http://se2.php.net/manual/en/function.date-diff.php