1

我想在现有的 PHP 页面上添加一个选项,邀请用户参与调查 - 我已经看到类似的邀请出现在我过去访问过但从未自己构建过的网站上。邀请将是一个悬停弹出窗口,显示在当前页面的顶部,其中包含进入新窗口/页面的参与选项和简单隐藏邀请的拒绝选项。这项调查只会运行一周,因此我可以在 7 天后轻松删除代码,但它还需要检测用户之前是否访问过此页面并且不会再次取消邀请。

我假设它将使用 cookie 来检测他们之前是否看过邀请,并使用带有 DIV 的 JavaScript 来显示邀请。我正在寻找任何显示如何在 PHP 页面中执行此操作的示例/代码,以便我可以在我的 PHP 页面上实现它。

非常感谢,史蒂夫

4

1 回答 1

1

最简单的方法是使用 JavaScript,我使用 jQuery 来编写我的 javascript。因此,您将创建一个 div,因为您希望调查看起来像这样:

<div id="idOfDiv">Style this and do what you normally would</div>

然后在你的 CSS 中放:

#idOfDiv { display:none; }

最后,对于 jQuery,您可以使用以下代码段来显示它:

$("#idOfDiv").fadeIn();  
//You can add a time in the parenthesis of fadeIn in milliseconds
//to speed up or slow down the div loading

如果您想跟踪是否有人关闭它并假设您有一个 ID 为 close 的关闭按钮,您可以使用 jQuery 执行此操作。

 $('#close').click(function(){
    $.post('location/of_file/to_set/cookie.php',function(data){
        //If you want to have a confirmation message or something put this here,
        //for after the cookie gets set.
    });
    $('#idOfDiv').fadeOut();
});

在 cookie.php 中只有:

<?php setcookie('noSurvey','true',time()+5000000,'/'); ?>

最后在您的页面上,您可以在其中放置调查消息的 div:

<?php if(!$_COOKIE['noSurvey']){ /*put div here */ } ?>

这将允许您只向拥有 cookie 的人显示消息,并且您可以在不离开页面的情况下设置 cookie。同样在他们完成后的调查页面上,您可能希望设置相同的 cookie,这样他们就不会再这样做了。

希望这可以帮助,

杰夫

如果您希望更多人回答,您还需要编辑您的接受率。该接受率与您获得的答案数量成正比:)

于 2011-06-05T14:10:01.543 回答