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;
            }

    数据库统计结果预览

  • 相关阅读:
    带符号数的移位
    day03-Java语言基础之运算符
    day02Java语言基础数量部分
    day01Java概述
    交换机光口识别与连接问题
    wireshark怎么抓包
    Java中的语句
    构建主键批注的方法
    通过反射,获得数据库增删改查的sql语句的方法
    sql语句
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/13595015.html
Copyright © 2011-2022 走看看