1. cookie简介
cookie是存储在客户浏览器中的数据,通过cookie来跟踪与存储用户数据一般cookie通过HTTP headers从服务端返回到客户端cookie存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置PHP通过setcookie函数设置cookie,任何从浏览器发回的cookie都会自动存储在$_COOKIE全局变量中,可以通过$_COOKIE['key']的形式读取某个cookie值 2. 设置cookie setcookie函数:有7个可选参数 name:名称,之后可以通过$_cookie['name']进行访问value:cookie的值expire:过期时间,Unix时间戳(Unix纪元:格林威治时间1970年1月1日00:00:00以来的秒数),可以表示为time()+秒数;默认为0,即关闭浏览器即失效path:有效的服务器路径,如果设置成‘/’则对整个域名都有效,如果设置为‘/foo/’,则对域名中的/foo/目录及其子目录有效domin:有效域名/子域名,默认对整个域名有效,如果设置成‘www.imooc.com’则只对www子域有效secure:是否仅通过HTTPS连接传送给客户httponly:是否仅通过HTTP协议访问 3. 删除cookie setcookie('name','',time()-1);4. session与cookie的异同 cookie的缺点:不太安全,容易被盗用导致cookie欺骗;单个cookie只能最大存储4k数据;每次请求都进行网络传输,占用带宽;只支持字符串类型session:用于保持用户连续访问Web应用时的相关数据,将用户的会话数据存储在服务端,没有大小限制,通过session_id进行用户识别,支持多种数据类型联系:PHP默认情况下session_id是通过cookie来保存的 5. 使用session session_start()开启session,然后通过全局变量$_SESSION进行session续写 session_start(); $_SESSION['test']=time();6. 删除和销毁session 删除某个session值使用unset()函数 session_start(); $_SESSION['test']=time(); unset($_SESSION['time']); 删除所有的session使用session_destroy()函数,但是session_id仍然存在,而且不会立即销毁$_SESSION中的值,只有当下次访问时才为空 session_start(); $_SESSION['test']=time(); $_SESSION['name']='job'; session_destroy();