首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >限制用户每24小时5次参赛?

限制用户每24小时5次参赛?
EN

Stack Overflow用户
提问于 2011-10-13 17:54:02
回答 1查看 362关注 0票数 0

我已经为客户建立了一个Facebook应用程序,这个应用程序允许用户输入他们的详细信息,并猜测一个数字将进入比赛。该应用程序是通过iframe运行的。

有没有可能只让用户在24小时内提交表单最多5次(最好是通过facebook的个人资料或IP地址),然后回显一个错误,如果他们试图输入第6次。我有一个收集数据并将其导出到csv文件的php脚本。

PHP表单代码:

代码语言:javascript
运行
复制
<?php
if($_POST['formSubmit'] == "Submit")
{
    $errorMessage = "";

  if(empty($_POST['formName']))
  {
    $errorMessage .= "<li>You forgot to enter your name.</li>";
  }
  if(empty($_POST['formTown']))
  {
    $errorMessage .= "<li>You forgot to enter your town.</li>";
  }
  if(empty($_POST['formEmail']))
  {
    $errorMessage .= "<li>You forgot to enter your email.</li>";
  }

    $varName = $_POST['formName'];
    $varTown = $_POST['formTown'];
    $varAge = $_POST['formAge'];
    $varEmail = $_POST['formEmail'];

    $varOne = $_POST['hidden-one'];
    $varTwo = $_POST['hidden-two'];
    $varThree = $_POST['hidden-three'];
    $varFour = $_POST['hidden-four'];
    $varFive = $_POST['hidden-five'];

    if(empty($errorMessage)) 
    {
        $fs = fopen("mydata.csv","a");
        fwrite($fs,"\n" . $varName . ", " . $varTown . ", " . $varAge . ", " . $varEmail . ", " . $varOne . $varTwo . $varThree . $varFour . $varFive);
        fclose($fs);

        header("Location: thankyou.php");
        exit;
    }
}
?>
EN

Stack Overflow用户

回答已采纳

发布于 2011-10-13 18:29:48

显而易见的解决方案是将表单提交到数据库中。对于每次提交,您将记录时间和用户的标识符(IP地址、Facebook帐户等)。此数据可用于检查用户在过去24小时内提交表单的次数。如果超过X次,则不存储数据并通知用户。

但此解决方案假设您有权访问数据库。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7752344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档