【代码总结】PHP之会话跟踪技术

  有些时候感觉自己学习的效率好低,一套教程一本书,反复听,反复看,反复敲代码。自学这条路真的是很艰难,在任何事情都没有成功之前都很枯燥乏味。自学的过程中总会遇到很多问题,有时候连错误的原因都找不出来,那种委屈却又找不出地方宣泄,遇到问题上平台上去提问,把问题解决后才能安心的来发一篇文章。也不是为了博客而发博客,而是想在学习中留下一些回忆,原来这些技术是我通宵达旦才研究透的。

  我的文采不好,总结的不全,但是我始终相信天道酬勤;相信自己每发一篇帖子都会进步一次。上个月答应人道表哥5个月内挖50个CNVD,又加上电脑坏了,所以总共没法过几篇帖子。最近一个星期会更新面向对象以及数据库抽象层PDO的知识

------------------------------------------------------------------------------------------------------------------------------------------------------------------

===================

       会话控制

===================

一、会话控制的原因

  多个页面之间相互切换时,保持用户登录的状态,并且访问的都是自己登录的信息。

  可以处理在同一个网站中同一个用户在多个页面共享数据的机制。

二、cookie的应用

将数据保存到客户端 相对不安全(个人喜好信息  不太重要的信息)

传输数据 数据如果太多 速度下降

1、在客户端中设置cookie

setcookie() 函数向客户端发送一个 HTTP cookie。如果成功,则该函数返回true。否则返回false

语法:

setCookie(name,value,expire,path,domain,secure);
setCookie('cookie名称','cookie的值',cookie有效时间,cookie的有效路径,cookie的有效域名,是否只能在https协议下使用);

参数:

 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
1 //将username的值传入给uname,保存客户端一周的时间
2 setCookie('uname','username',time()+60*60*24*7);   
3 //将username的值传入给uname,保存客户端一周的时间,只在服务器的目录或子目录下有效,在test.com的域名或子域名下有效,参数为1,cookie尽在安全的链接中设置
4 setCookie('uname','username',time()+60*60*24*7,'/cookie','.test.com',1);    

2、读取cookie中的资料

    超全局数组

 1 echo $_COOKIE[cookie名称]  

3、数组形态的cookie应用

  将多个内容值储存在相同的Cookie名称标识符下

1 setCookie('user[username]','admin');              //设置为$_COOKIE['user']['username']
2 setCookie('user[password]',md5('123456'));          //设置为$_COOKIE['user']['password']
3 setCookie('user[email]','123@163.com');           //设置为$_COOKIE['user']['email']

4、删除cookie

  删除与设置统一

 1 setCookie('uname','username',time()-1); //把COOKIE设置为已过期的状态 

三、Session的应用

Session将信息存储在服务器端(文件)

Session是基于cookie的,在使用session之前必须开启会话session_start();

1、将信息储存到session中

1 Session_start();               //启动session的初始化
2 $_SESSION['uname'] = 'zhu';    //注册Session变量,赋值一个用户名称
3 $_SESSION['uid'] = 1;          //注册Session变量,复制一个用户的ID

保存Session变量的文件  --> 变量名|类型:长度:值

uname|s:"zhu";uid|i:1

2、注销变量与销毁Session

1 unset($_SESSION['uname']);    //删除Session变量
2 $_SESSION = array();         //将某个用户在Session中注册的变量全部清除

注意:array清空$_Session数组的同时也将对应的Session文件内容清空

     session_destory()函数,浙江这个用户对应的Session文件删除

四、思维导图

 

posted @ 2017-05-03 01:12  水清云影  阅读(598)  评论(0编辑  收藏  举报