您的位置:首页 >> LNMPA >> session 和 cookie 的区别和用法
session 和 cookie 的区别和用法
[ 孤狼 | 2015-02-11 16:36:30 | LNMPA ]


session 和 cookie 的区别和用法


       作用:

               session和cookie都是用于暂时记录用户数据的方式.

       

       区别:

               1.SESSION存储在服务器端,用户无法进行修改,比较安全,COOKIE存储在客户端,用户可以进行修改,不安全。


               2.Session会在一定时间内保存在服务器上,会占用服务器资源。Cookie存储在用户windows下的Temp目录中的。

               3.单个cookie在客户端的限制是4k

               4.session遍历使用$_SESSION[] ,cookie遍历使用$_COOKIE[]

               5.禁用过cookie后session无法使用

               6.session使用的时候要加session_start()并且前面不能有任何输出.


       使用方法:


       <一>:session

               启动session:

                      session_start();

                       PS:该函数需要放在文件最前端,前面不要有任何输出,最好顶头写(不要有前导空格).

              设置session:

                       $_SESSION['name']='value';

                       PS:在使用的时候,直接使用$_SESSION[]方法设置值,其中"[ ]"部分为session的name,"="后面为值.

               读取session:

                      echo $_SESSION['name'];

                       PS:不论是设置session还是读取session都要先开启session(使用session_start()).

               销毁session:

                       1.关闭浏览器,自动销毁.

                       2.直接给 $_SESSION[]=''; 清空.


       <二>:cookie

               设置cookie:

                      bool setcookie(string name[,string value[,int expire[,string path[,string domain[,bool secure[,bool httponly]]]]]] )

                           name:   cookie变量名

                           value:   cookie变量的值

                           expire:  有效期结束的时间,

                           path:    有效目录,

                           domain: 有效域名,顶级域唯一

                           secure:  如果值为1,则cookie只能在https连接上有效,如果为默认值0,则http和https都可以.

               例如:

                       setcookie('username','hello',time()+3600);

                       setcookie("username",'hello',time()+3600,"/~rasmus/",".paea.cn",1);

                       PS:setcookie前不能出现输出数据操作,否则就会出现错误类似于session_start().

              读取cookie:

                       echo $_COOKIE['username'].'||';

                       echo $HTTP_COOKIE_VARS["username"];

                      PS:两种输出方式.

               销毁cookie:

                       设置一个过去的时间来注销cookie

                       setcookie('username','hello',time()-3600);

                       PS:setcookie前不能出现输出数据操作,否则就会出现错误类似于session_start().

               



转载请注明出处:http://gl.paea.cn/lnmpa/content/2015/02/11/62.html