限制 Joomla 中每个用户 ID 的提交次数 24 小时

Ruc*_*ika 5 php mysql forms joomla date

我们在 joomla 中有一个使用 RSform pro 构建的表单。有一个脚本可以将注册会员的提交总数限制为 5 次提交。

 // Define the maximum number of submissions.
 $max = 5;
 $user = JFactory::getUser();
 $db   = JFactory::getDbo();
 $query   = $db->getQuery(true);

 // Setup the query.
$query->select('COUNT('.$db->qn('UserId').')')
->from($db->qn('#__rsform_submissions'))
->where($db->qn('FormId').'='.$db->q($formId))
->where($db->qn('UserId').'='.$db->q($user->get('id')));

$db->setQuery($query);
 $counter = $db->loadResult();

if ($counter >= $max){
$formLayout = '<p style="color:red;">Rejected</p>';
  }
Run Code Online (Sandbox Code Playgroud)

但是 - 我们必须修改它,以便:-> 最大提交条款保留 24 小时 - 用户可以在第一次提交后的 24 小时内最多提交 5 次 - 并且限制在 24 小时后自动消失

任何建议或帮助!

小智 0

在数据库中创建一个提交时间为 (int) 的字段,并使用 php time() 函数插入时间,并使用 current_time-last_post_time 比较每次提交的时间。