session和cookie的区别和联系

   使用session会在客户端生成一个文件,这个文件是以session_id来命名,用来保存文件;生成的文件保存在这个路径中:session.save_path = "D:/wampstack/php/tmp";  

   获取sessionid:   可以用session_id();也可以用$_COOKIE['PHPSESSID'];获取。 //因为session是依赖于cookie存储的。

   session的存储:$_SESSION['username']='张三';   //在存储session文件中的值是通过后台serialiaze(序列化)之后的值。

   session的删除:unset($_SESSION['username']);   //这里的删除是删除的保存文件中的变量,要想删除文件要使用session_destroy();,会把服务器中的session文件删除,但浏览器中的session信息不会删除。

   $_SESSION=array();//给变量赋一个空的数组,可以删除session中所有的变量,unset()

   session会话期间是从输入域名打开一个网站一直到浏览器关闭,这时session结束。

   cookie会话期间是一直保存在浏览器中。

   session的生存周期可以通过setcookie来设置,setcookie(session_name(),  session_id(),  time()+60,'/');  //session_name的过期时间(秒)和路径要跟默认的保持一致。

   cookie的设置:setcookie(名字,值,time()+3600); //第三个参数为生存周期,即是浏览器关闭也会存在,如果没有设置,默认为0,代表直到浏览器关闭才会失效。

    cookie的存储路径:win/temp

    cookie的删除:通过setcookie(名字,‘ ’,time()-1);  //赋空值的方法。

    cookie的存储:默认存储路径为根目录,根目录下的所有文件都共享cookie信息。

    js中只有cookie没有session,因为session是服务器端;js中time()表示毫秒。

    header("Set-Cookie:user2=zh;path=/;expires=");//header发送cookie请求


应用:用户登录记住密码用cookie,但是cookie不安全;如果不用记住密码功能,用session

posted on 2016-12-05 17:19  PHP博客园  阅读(131)  评论(0)    收藏  举报

导航