将用户重定向到移动网站,或者如果用户点击完整网站设置Cookie并将用户保留在完整网站上?

时间:2015-03-10 11:45:58

标签: php jquery mobile cookies

我有一个header.php文件,该文件包含在我的所有桌面网站中,包括index.php,about.php等。

我使用header.php中的以下代码将移动用户重定向到我的移动网站http://m.hewdenportal.co.uk

header.php(桌面网站标题文件):

<?php

if (!isset($_COOKIE['nomobile'])) { ?>
<script>
function urlParam(name){
            var results = new RegExp('[\\?&amp;]' + name + '=([^&amp;#]*)').exec(window.location.href);
            if(results)
                return results[1] || 0;
            else
                return '';
        }

        if(urlParam('view') == 'full'){ 
        }
        if(urlParam('view') == ''){
            // <![CDATA[
            var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));  
            if (mobile) { 
                    document.location = "http://m.hewdenportal.co.uk";  
            }  
            // ]]>
        }
</script>
<?php } ?>

这里的想法是,如果没有设置cookie,那么浏览器应该读取我的jQuery,如果他们使用移动设备,用户应该被重定向到我的移动网站。

接下来,在移动网站上,我向用户提供导航到完整网站的选项,如下所示:

移动网站:

<a href="full_site.php" data-ajax="false">Full Site</a>

full_site.php:

<?php 
setcookie("nomobile", time()+3600);  /* expire in 1 hour */
header('Location: http://www.hewdenportal.co.uk');
?>

在我的full_site.php文件中,然后尝试启动一个cookie,该cookie将持续到用户关闭我的网站上的会话。然后用户被重定向到完整站点。

然后检查cookie是否存在于我的header.php文件中,这样用户在网站打开的整个持续时间内都不会被重定向回移动站点。在他们离开网站并稍后返回该网站之前,他们会被带回移动网站。

我遇到的问题是php代码似乎没有检查cookie,并且它不断地将用户重定向到移动网站。请有人告诉我最好的方法吗?

0 个答案:

没有答案