我希望有人帮助如何将在其浏览器中设置了Cookie的回访用户重定向到http://google.co.uk。我正在使用一个年龄验证系统,该系统可以在wordpress中正常运行,但是我一直试图找出的唯一问题是如何将未成年用户重定向到google.co.uk,直到Cookie过期。
这是一个过程,当用户访问网站时,系统会提示他们填写DOB,如果在允许的年龄(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过期(该Cookie设置为7天过期)为止。
预先感谢您的帮助
答案 0 :(得分:0)
最后使它起作用,问题出在路径...如该部分上方的图像所示,该路径指向/ cbd / wp-admin(其中应指向/ cbd /)...是根路径(C:// xampp / htdocs / cbd /)。像这样setcookie($cookie_name, $true, time()+3600, '/');
我使用此php代码重定向用户(如果存在cookie)
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');