《PHP实战:浅谈COOKIE和SESSION区别》要点:
本文介绍了PHP实战:浅谈COOKIE和SESSION区别,希望对您有用。如果有疑问,可以联系我们。
PHP学习一、cookie介绍
PHP学习cookie 常用于识别用户.cookie 是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器哀求页面时,它同时会发送 cookie.通过 PHP,您能够创建并取回 cookie 的值.
PHP学习1、设置Cookie
PHP学习PHP用SetCookie函数来设置Cookie.
PHP学习SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下:
int SetCookie(string name, string value, int expire, string path, string domain, int secure);
PHP学习参数说明:cookie名称,cookie值,过期时间(int),有效路径,有限域名,https传递才有效
PHP学习注意:当前设置的Cookie不是立即生效的,而是要比及下一个页面时才能看到.这是由于在设置的这个页面里Cookie由服务器传递给客户浏览器,在下一个页面浏览器才能把Cookie从客户的机器里取出传回服务器的原因.
PHP学习使用例子:
PHP学习普通使用:
PHP学习setcookie('name','PHP淮北');
PHP学习带失效时间的:
setcookie('name','PHP淮北',time()+24*60*60);//1day
PHP学习Cookie是面向路径的 ,默认存储在当前文件下,如果没有设置路径,不同文件下的cookie默认保留在不同文件夹下,如图:默认保留在mytest文件夹下
PHP学习2、接收和处理Cookie
PHP学习用户端与服务端的web通信协议是http.而PHP通过http取得用户数据惯用的三种办法分别是:POST办法、GET办法还有Cookie.而PHP默认传递办法正是Cookie,也是最佳办法.
PHP学习好比设置一个名为MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$myCookie,这个变量的值就是Cookie的值
PHP学习3,删除Cookie
PHP学习要删除一个已经存在的Cookie,有两个方法:
PHP学习一是调用只带有name参数的SetCookie,那么名为这个name的Cookie将被从关系户机上删掉;例如:setcookie('name','');
另一个方法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了). 例如:setcookie('name','PHP淮北',time()-24*60*60);
要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的.
使用Cookie的注意事项:
PHP学习首先是必须在HTML文件的内容输出之前设置(Cookie是HTTP协议头的一部分,用于浏览器和服务器之间传递信息,所以必须在任何属于HTML文件自己的内容输出之前调用Cookie函数.
在PHP页面可以先使用
PHP学习ob_start();//开启
PHP学习code…..
PHP学习ob_end_flush(); //刷新缓存
PHP学习可以防止header提示错误);
PHP学习不同的浏览器对Cookie的处理机制不一样
cookie限制是在客户端的.一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个.
当前设置的Cookie不是立即生效的,而是要比及下一个页面时才能看到
PHP学习二、session介绍
PHP学习session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息,每一个网站访客都会被分配给一个唯一的标志符,即会话ID,它的存放形式无非两种:要么经过url传递,要么保存在客户端的Cookies里.当然,你也可以将Session保存到数据库里,这样会更平安,但效率方面会有所下降.url方式传递平安性肯定太差,PHP的会话机制是通过设置Cookie,在Cookie中保存会话id(Session ID),在服务器端会生成session文件,与用户进行关联,Web应用程序存储与这些Session相关的数据,并在各页面间进行传递.
PHP学习PHP相关函数
PHP学习在PHP中有关Session的函数比拟多,不过我们最常用到的也就这么几个函数:
PHP学习session_start():启用session机制,在必要用到session的程序文件的最开始调用它.
PHP学习session_register():注册session变量
PHP学习session_unregister(): 删除session变量(一个一个删除)
PHP学习session_is_registered(): 判断session变量是否注册
PHP学习session_distroy(): 销毁所有session变量(所有session变量销毁,包含文件)
PHP学习必要注意下面几个方面:
PHP学习1.函数session_start()必需在程序最开始执行,在其前面不能有任何输出内容,否则
PHP学习就会出现“Warning:Cannot send session cookie - headers already
PHP学习sent"类似这样的警告信息.
PHP学习2.函数session_register()用于注册要保留在session中的相关变量,其用法如下:
PHP学习
<?php
$val = "session value";
session_register("val");
?>
PHP学习val即为要注册的session变量名,在注册时必定不要加上"$"符号,只写其变量名称即可.
PHP学习3.函数session_unregister()与上面函数用法完全相同,但功能相反,上面函数是注册
PHP学习session变量,而其则是删除指定的session变量.
PHP学习4.函数session_is_registered()用于判断session变量是否注册.
PHP学习5.函数session_destroy()主要用于在系统注销和退出时,销毁所有的session变量,它没有参数,直接调用即可.
PHP学习Session与PHP.ini的关系配置
PHP学习1,session.save_handler = file
PHP学习用于读取/回写session数据的方式,默认是files.它会让PHP的session管理函数使用指定的文本文件存储session数据
PHP学习2,session.save_path = “/xammp/temp/”
PHP学习指定保存session文件的目录,可以指定到别的目录,但是指定目录必须要有httpd守护进程属主(比如apache或www等)写权限,否则无法回存session数据.它还可以写成这样session.save_path = “N;/path” 其中N是整数.这样使得不是所有的session文件都保存在同一个目录中,而是分散在不同目录.这对于服务器处理大量session文件是很有赞助的.(注:目录需要自己手工创建)
PHP学习3,session.auto_start = 0
PHP学习如果启用该选项,用户的每次哀求都会初始化session.不推荐使用,最好通过session_start()显示地初始化session.
PHP学习以上所述便是本文的全部内容了,希望大家能够喜欢.
欢迎参与《PHP实战:浅谈COOKIE和SESSION区别》讨论,分享您的想法,维易PHP学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/9447.html