首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >5分钟后联系信息要求

5分钟后联系信息要求
EN

Stack Overflow用户
提问于 2012-01-18 23:38:21
回答 3查看 98关注 0票数 0

我有一个php网站,客户想要求查看者填写并提交一个联系形式后,查看该网站5分钟。信息不需要添加到数据库,只需发送到他们的办公室电子邮件即可。我已经创建了表单,但不确定处理弹出窗口的最佳方式,并在继续查看网站之前使其成为必需的。

EN

回答 3

Stack Overflow用户

发布于 2012-01-19 00:01:55

如果你没有试着说服你的客户不要这样做,你就是在对他们造成很大的伤害。如果他们不想让人们访问这个网站,他们就不应该开发它。如果他们想要人们访问它(或再回来),他们甚至不应该考虑这一点。

也就是说,您可以设置某种计时器来“强制”弹出窗口出现,但许多弹出窗口拦截器可以处理这一点。不管你怎么做(cookies,提供不同的页面,等等),都会有办法绕过这样的方案,但除非你在那个网站上有一些令人难以置信的独特之处,否则你客户的读者可能甚至不会为它们而烦恼--他们会去一个不是故意破坏的网站。

我会建议你的客户把他们放在一个框中,想要联系的用户可以输入电子邮件地址。这不会惹恼你的用户,但仍然可以让你从感兴趣的人那里获得线索。

票数 1
EN

Stack Overflow用户

发布于 2012-01-19 00:07:40

这可能会对你有所帮助;

网站页面的PHP

代码语言:javascript
复制
if (false === isset($_SESSION['startTime'])) {
     $_SESSION['formSubmitted'] = false;
     $_SESSION['startTime'] = time();
}

用于jqueryCheck.php的PHP

代码语言:javascript
复制
$return = 0;

if (false == $_SESSION['formSubmitted']) {
    if ((time() - $_SESSION['startTime']) > 300) {
        $showForm = 1;
    }
} else {
    $return = 2;
}

echo $return;

表单提交和验证后的PHP

代码语言:javascript
复制
$_SESSION['formSubmitted'] = true;

JQUERY

代码语言:javascript
复制
var intervalId = setInterval(function(){
    $.ajax({ url: "jqueryCheck.php", success: function(showForm){
        switch (showForm) {
             case 0: //not yet at 5 mins and not submitted
             break;
             case 1:  //at 5 minutes no form submitted
                //code to show form
             break;
             case 2:  //form submitted
                 clearInterval ( intervalId );
             break; 
        }
    }});
}, 60000);
票数 1
EN

Stack Overflow用户

发布于 2012-01-19 00:13:01

这是一个没有Javascript的简单解决方案。

代码语言:javascript
复制
if (!isset($_SESSION['trial_end'])) {
    $_SESSION['trial_end'] = time() + 5 * 60;
}

// Check if trial has expired and we are not already on the form
if (time() > $_SESSION['trial_end'] && $_SERVER['REQUEST_URI'] !== '/form') {
  header('Location: /form');
  exit;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8912914

复制
相关文章

相似问题

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