我有一个非常奇怪的问题,可能是因为我的编码技巧很差,因为我想我的方式。然而,它在计算机上完美运行,但做了一些非常奇怪的事情。
因此代码检测cookie是否存在(返回用户),如果它不存在则创建cookie,然后关闭并检查访问者的位置。如果它与我指定的国家/地区相匹配,则会抛出一个模式,从而为他们提供正确的国家/地区网站。
在手机上,它可以工作一次..但只有一次。我之前可以去买另一部我从未访问过的电话,之后它就不会显示......如果我重新命名它然后显示的cookie。它几乎就像手机有服务器端cookie而不是客户端。这就是它的样子。非常奇怪。无论如何,我的代码如下。它并不漂亮,但确实有效。
我还尝试运行echo语句进行测试,以查看它在手机上的中断位置。它一开始并没有超过if isset
。但就像我说的那样,即使在以前从未访问过该网站的手机上也不会超过那个阶段。如果我改变它显示的cookie名称......
<?php
// SET COOKIE VAR NAME AND VALUE
$cookie_name = "NAMEOFCOOKIE";
$cookie_value = "Yes";
// CHECK TO SEE IF COOKIE EXISTS ALREADY, IF IT DOESN'T CONTINUE DOWN AND CREATE NEW COOKIE
if (!isset($_COOKIE[$cookie_name])) {
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// GRAB GEOIP CLASS, THE VISITOR IP, CHECK TO SEE LOCATION OF VISITOR
require_once('/home/user/public_html/geoplugin.class/geoplugin.class.php');
$geoplugin = new geoPlugin();
$geoplugin->locate();
$country = "{$geoplugin->countryName}";
if ($country == "United States") {
// IF THE VISITORS LOCATION COUNTRY IS UNITED STATES, POP THE MODAL AND OFFER THE CORRECT COUNTRY WEBSITE AND BLOCK OUT BODY FROM SCROLLING
$link = "http://www.otherwebsite.com";
echo "<script src='https://www.otherwebsite.com.au/main.js'></script><script>$('body').addClass('modal-open');</script>";
} elseif ($country == "New Zealand") {
// IF THE VISITORS LOCATION COUNTRY IS NEW ZEALAND, POP THE MODAL AND OFFER THE CORRECT COUNTRY WEBSITE AND BLOCK OUT BODY FROM SCROLLING
$link = "http://www.otherwebsite.co.nz";
echo "<script src='https://www.otherwebsite.com.au/main.js'></script><script>$('body').addClass('modal-open');</script>";
}
}