检查智能手机上是否存在cookie被忽略

时间:2015-05-21 12:08:52

标签: php cookies

我有一个非常奇怪的问题,可能是因为我的编码技巧很差,因为我想我的方式。然而,它在计算机上完美运行,但做了一些非常奇怪的事情。

因此代码检测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>";

    }

}

0 个答案:

没有答案