【问题标题】:php or javascript session rules popupphp 或 javascript 会话规则弹出窗口
【发布时间】:2017-03-30 15:53:50
【问题描述】:

我刚刚使用 Magnific Pop-up 创建了一个 Pup-up。我现在必须设置会话规则:

  • 弹出窗口必须在用户登陆网站 5 秒后出现,并且在会话的剩余时间内不得显示

  • 对于每个用户的会话,弹出窗口必须出现 5 次:只要用户没有对弹出窗口执行任何操作或用户关闭弹出窗口 5 次,弹出窗口就不必再出现。

你能帮帮我吗?提前致谢!

【问题讨论】:

    标签: javascript php session popup magnific-popup


    【解决方案1】:

    以下是一个简单的解决方案,但是根据您网站的设置方式,其他页面加载和/或 ajax 调用可能会增加计数器,因此请注意何时/何地增加会话变量 $_SESSION['show_popup_count']

    <?php
    session_start();
    if(isset($_SESSION['show_popup_count'])){
        //handle completely new session here
        $_SESSION['show_popup_count']=0;
    }
    $_SESSION['show_popup_count'] += 1;
    
    //expose value to javascript
    ?><script type="text/javascript">
        var popupCounts = <?php echo $_SESSION['show_popup_count']; ?>;
    </script><?php
    .... //continue on with rest of code
    

    那么这是您的附加 javascript

    if(popupCounts<6){
        //code to show popup here
    }
    

    【讨论】:

    • 您好 user3299379 感谢您的回答,我不是很实际,您能再帮我一次吗?我安装了插件magnific popup,这是我在index.php中包含的代码:pastebin.com/GpQHZbsK对不起,如果我把它放在pastebin上,但我无法正确格式化,它分为html和javascript。
    • 非常感谢您,现在我如何将我的代码(HTML 和 Js)与您给我的代码结合起来?
    • 谢谢。问题是当我在页面之间移动时会话计数也会增加,然后在每次弹出窗口时加载。我想要的是,当我进入站点时,我对弹出窗口进行收费,并且我留在里面的所有时间都不能加载,它增加了计数,只有当我离开站点并返回时才必须应用计数。我放在 index.php 中的代码。对不起我的英语
    • pastebin.com/2rZuYYDq 如果这回答了您的问题,请将其标记为最佳答案stackoverflow.com/help/someone-answers
    • php通过将会话存储在cookie中来创建会话,即使会话在服务器上过期,浏览器也会记住它,以及何时分配新会话。如果您想控制会话时间,请查看此答案stackoverflow.com/questions/520237/…
    猜你喜欢
    • 2016-05-25
    • 2016-05-30
    • 2014-05-09
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    相关资源
    最近更新 更多