0

我想在 drupal 6 中创建一个表单,用户可以在有限的时间内(例如:10 分钟)强制填写字段。

我想在我的代码的服务器端处理这个限制时间。我不希望用户可以通过更改系统时钟来更改时间。

没有 $_SESSION 有可能吗?

4

2 回答 2

1

使用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
    }
}
于 2012-12-04T09:23:17.660 回答
1

如何存储用户开始与表单交互的时间,并在提交时检查时间是否已经过去?

您可以使用会话存储特定用户的时间。

这些是您需要执行此操作的参考:

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
于 2012-12-04T09:25:38.817 回答