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

數據庫統計結果預覽

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM