【问题标题】:How to Redirect User to External URL if cookie exist in users browser如果用户浏览器中存在 cookie,如何将用户重定向到外部 URL
【发布时间】:2019-07-07 23:46:14
【问题描述】:

我希望有人帮助解决如何将在其浏览器中设置了 cookie 的返回用户重定向到 http://google.co.uk。我正在开发一个年龄验证系统,其中一切都在 wordpress 中正常工作,但我一直试图弄清楚的唯一问题是如何将未成年用户重定向到 google.co.uk,直到 cookie 过期。

这是一个过程,当用户访问网站时,系统会提示他们填写出生日期,如果在允许的年龄(18 岁以上)内,欢迎他们访问网站并可以继续浏览网站,但如果年龄不足,我使用 Ajax 和 PHP(PHP 设置 cookie 名称 VAage,其内容低于 18,如下面的屏幕截图所示),而 ajax 处理用户的体验/与表单的交互,而无需重新加载页面。

现在尚未合作的部分是......当用户未满 18 岁并已被重定向到 http://google.co.uk(目前工作正常)并决定立即重新访问该网站或重新访问在 cookie 尚未过期或从他/她的浏览器中删除的情况下,网站应一次又一次地重定向回 google.co.uk(防止他们访问该网站)。

我已尝试将此代码添加到主题的function.php文件,header.php,index.php但不起作用;

function is_user_with_VAage_cookies () {
if ( isset( $_COOKIE['VAage'] ) ) {
        header('Location: https://google.co.uk'); 
        exit;
    }
}

我也尝试过使用 JavaScript 而不是使用 PHP 的 header() 函数,像这样,

function is_user_with_VAage_cookies () {
if ( isset( $_COOKIE['VAage'] ) ) {
        ?>
            <script type="text/javascript">var win = window.open('https://google.co.uk', '_self');</script>
    <?php

    }
}

我不确定我做错了什么,或者是否有一个钩子可以完成这项工作。我尝试过像add_action('init', 'is_user_with_VAage_cookies'); 那样挂钩它(如here 所示),但每次我测试年龄验证并尝试在因未满 18 岁而被重定向后返回网站时,它仍然会加载我不知道的网站不想。我希望未成年用户立即被重定向到谷歌,他们尝试再次访问该网站,直到 cookie 过期(设置为 7 天过期)。

提前感谢您的帮助

【问题讨论】:

    标签: php wordpress redirect cookies


    【解决方案1】:

    终于让它工作了,问题在于路径......如上图所示,该部分指向/cbd/wp-admin(它应该指向/cbd/)......是根路径 (C://xampp/htdocs/cbd/)。这样设置路径后setcookie($cookie_name, $true, time()+3600, '/');

    如果 cookie 存在,我使用此 php 代码重定向用户

    function is_user_with_VAage_cookies () {
        if(isset($_COOKIE['VAage'])) { //Which return this array [VAage]=>user18 if you print_r($_COOKIE);
            ?>
            <script type="text/javascript">
                window.open('https://google.co.uk', '_self');
            </script>
            <?php
        }
    }
    add_action('init', 'is_user_with_VAage_cookies');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-01
      • 2012-07-06
      • 2023-04-05
      • 2013-01-06
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多