欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php如何检测第一次访问网站的客户端是否支持cookie 呢?

思路:

1、应该有一个提示“您的浏览器不支持cookie”的页面:tips.php;
2、进入index.php时,判断有无cookie,有则继续,无则setcookie后跳转到tips.php;
3、在tips.php判断是否有cookie,有则跳回referer,无则显示提示文字。

2013.7.22,针对楼主2013.7.18的评论,补充代码:

<?php
// index.php
if (!isset($_COOKIE['yesIhave'])) {
  setcookie("yesIhave", "yesIhave");
  header('location:noCookieTips.php');
  return;
}
echo "我崇拜你!能用COOKIE的神!";
 
<?php
// noCookieTips.php
if (isset($_COOKIE['yesIhave']) && $_COOKIE['yesIhave'] == 'yesIhave') {
  header('location:index.php');
  return;
}
echo "SORRY!您的浏览器不支持COOKIE!";




我不知道理解对不对,这个js是判断是否启用cookie:

<script type="text/javascript"> 
var cookieEnabled=(navigator.cookieEnabled)? true : false 
//判断cookie是否开启  //如果浏览器不是ie4+或ns6+ if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){  
document.cookie="testcookie" 
cookieEnabled=(document.cookie=="testcookie")? true : false document.cookie="" 
//erase dummy value 
}  
//if (cookieEnabled)  
//if cookies are enabled on client‘s browser 
//do whatever  
</script>

来自   http://www.dewen.net.cn/q/2684


php判断浏览器是否开启cookie,一般都是先插入一个cookie,然后后取出来,只要不为空,就说明已经开启了cookie.
<?php
        setcookie("CookieCheck","OK",time()+3600,"/","xxx.com");
                
                if (!isset($_COOKIE["CookieCheck"]))
                {
                        echo "您浏览器的 cookie 功能被禁用,请启用此功能。";                
                }
                else 
                {
                        return;
                }        
?>
这样执行的话,第一次会显示""您浏览器的 cookie 功能被禁用,请启用此功能。"",需要刷新页面才能看到真实结果。

来自 http://jianzhong5137.blog.163.com/blog/static/982904920118193058873/

普通分类: