美文网首页
Cookie(下)

Cookie(下)

作者: JessWang | 来源:发表于2018-04-10 15:59 被阅读10次

    /* * Cookie 实例(用户浏览记录) 

        * 分析: 

        *用户浏览记录是不断变更的,是多条数据,我们可以使用数组来保存. 

        * cookie只能保存字符串,如何保存数组? 

        * 解决方案: 通过系统内置的序列化和反序列化函数来实现, serialize() 和 unserialize() 

        //1. 获取URL地址,用到$_SERVER['REQUEST_URI']

        $url = $_SERVER['REQUEST_URI'];

        // echo $url,'';

        //2. 将URL放到Cookie中

        //用一个数组来保存URL

        $arr=[];

        //首先要判断是否有浏览记录,如果有,将当前URL放到浏览记录前面

        //如果不存在浏览记录,则新建一个浏览记录

        if (isset($_COOKIE['his'])) {

            $arr = unserialize($_COOKIE['his']);//取出来的是字符串,需要反序列化

            array_unshift($arr,$url);//将URL地址放到历史记录最前面

            //重复的浏览记录去除掉

            $arr = array_unique($arr);  

             if (count($arr) > 10) { //只保存10条记录 

                    array_pop($arr);//将最后一条记录弹出    

                    }

                //再次存放到cookie中

                setcookie('his',serialize($arr));

           }else{

            $arr[] = $url;

            //首次存放到cookie

            setcookie('his',serialize($arr));}

    echo "历史浏览记录";

    echo '<ol>';

    foreach ($arr as $k => $v) {

    echo '<li>'.$v.'</li>';

    }

    echo '</ol>';

    echo "<hr />";

    echo '随机生一个URL地址';

    相关文章

      网友评论

          本文标题:Cookie(下)

          本文链接:https://www.haomeiwen.com/subject/itknhftx.html