zoukankan      html  css  js  c++  java
  • tp5写入cookie失效

    打算统计网站uv,使用cookie来实现

    原先错误代码如下:

    // 获取UV
            function getUv(){
    
                #当前url
                $url= explode('/',$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
    
                // cookie初始化
                Cookie::init(['prefix'=>$url,'expire'=>60*60*24]);
    
                if( empty(Cookie::get('access',$url)) || !Cookie::has('access',$url) ){
                    $uv=1;
                }else{
                    $uv=0;
                }
    
                Cookie::set("access",1); //访问过标记
                return $uv;
            }

    页面没有报错,查看到chrome浏览器也确实写入了cookie

     仔细翻了翻tp5文档关于cookie的前缀

    这个前缀必须是字符加上下划线的格式,我之前用了类似xxx.html作为前缀是不被支持的

    修改代码如下正常

    // 获取UV
            function getUv(){
    
                #当前url
                $urlArr= explode('/',$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
                $path = end($urlArr);
                $pathArr = explode('.',$path);
                $url = $pathArr[0].'_';
    
                // cookie初始化
                Cookie::init(['prefix'=>$url,'expire'=>60*60*24]);
    
                if( empty(Cookie::get('access',$url)) || !Cookie::has('access',$url) ){
                    $uv=1;
                }else{
                    $uv=0;
                }
    
                Cookie::set("access",1); //访问过标记
                return $uv;
            }

    数据库统计结果预览

  • 相关阅读:
    列表和元组
    UVM宏
    UVM中重要函数
    组合模式(composite)
    装饰器模式(Decorator)
    适配器模式(Adapter)
    桥接模式
    原型模式(prototype)
    单例模式(singleton)
    UML类图
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/13595015.html
Copyright © 2011-2022 走看看