Cookie和Session机制.docVIP

  • 4
  • 0
  • 约3.71千字
  • 约 13页
  • 2015-08-07 发布于湖北
  • 举报
Cookie和Session机制.doc

Cookie技术的使用细节: 增:改: Setcookie(); 浏览器判断如果已经存在相应cookie变量,则修改。如不存在,则增加。 删:通过设置cookie变量的有效期,达到目的。 Setcookie(‘cookie变量名’, ‘’, time()-1) 有时 会认为 在使用只有一个参数的setcookie()会删除这个cookie变量,但是有依赖与php版本的默认行为。不建议使用。 查: $_COOKIE,只能查询,不能操作。只保存,当前请求浏览器所携带的cookie数据。如果在本次php脚本周期内setcookie设置的cookie,是不能在$_COOKIE内看到的。 Cookie变量的有效期: 利用setcookie的第三个参数,值 一个时间戳,表示cookie数据到达哪个时间戳 失效。 第三个参数为0,意味着 默认有效期。浏览器关闭。 Cookie内,只能记录字符串数据: 如果需要保存其他类型数据,需要进行序列化存储。 保存数据有个技巧: 就好像: Setcookie的执行,要求与header函数的执行是一致的。不能有任何形式的输出,在前面:(不是php决定的,而是html协议决定的) Cookie变量的有效范围。 Cookie变量的有效范围,在当前目录,及其后代目录内有效。 利用setcookie的第四个参数,可以完成修改; 常用的是 / 表示在整站有效。 子域名内共享cookie: 默认不可以跨域名访问: 但是可以 通过在设置cookie变量时,增加 相应的参数达到目的 Setcookie的第五个参数 SESSION技术的使用细节: 无论如何处理 session 先 开启session机制 Session_start(); 同样 不能有任何形式的输出在前面。依赖cookie,需要设置一个cookie变量。 Session执行 在 配置文件内,自动开启。 Session如果再次开启的话,会报告一个notice级别的错误。 再次开启 不会有功能上的损失,因此简单做法,@屏蔽该错误信息即可。 Session机制 需要依赖一个 存储与cookie内的标识。 这个标识的变量名为 PHPSESSID,也是可以被配置的。 值为一个唯一的一个字符串。 这个cookie变量,session机制的 sessionID。 增 使用$_SESSION即可 Session可以保存任意类型的数据。 $_SESSION数组只能是字符串下标,不能是数值下标。 值型下标会被忽略,不会记录。 删 Unset即可。 但是不能删除整个$_SESSION变量。 数据还会存在。 如果需要删除所偶session数据 、置空 $_SESSION = array(); 改 利用下标定位元素,后修改其值 $_SEESION[‘key’] = ‘new value’; 查 利用下标定位元素,访问即可: Echo $_SESSION[‘key’]’ 思考? PHPSESSION机制的实现原理。 重写SESSION机制的中的某个操作! 用户脚本是通过操作 $_SESSION这个变量处理SESSION数据。 $_SESSION是变量,意味着 脚本周期结束,变量会消失。 $_SESSION内所保存的数据,一定是在$_SESSION消失之前,被保存起来。 在下次脚本周期,再数据读取到$_SESSION内,供用户脚本使session数据。 $_SESSION变量是在 session_start()时,生成的,并初始化的。 Session_start()时,需要做的工作: $_SESSION; 确定当前的所使用的 sessionID标识。 确定保存session数据的文件。 将文件内的数据取得 利用数据 生成 $_SESSION元素数据。 针对$_SESSION数组进行操作(增删改查) 当脚本之行结束,$_SESSION消失。在消失之前, 定位相关的存储文件 将$_SESSION数据序列化 将序列化好的数据存储到定位的文件内。 在以上的步骤中,存在一些用户的php脚本可以参与的过程。 数据的读写过程是用户脚本可以参与的。 上面的读写相关的过程,是整体session机制中的 session存储机制的部分。 利用设置session存储处理器的工作完成。 Handler 用户如何设置了相应的session存储处理器,那么会在 php在处理session时,一旦涉及到存储相关的操作,就会,调用用户脚本定义的处理器。 设置用户的session存储处理器,需要使用 Php内置函数 Session_set_save_handler(); 注意 ,除了 读写 之外,整个session的存储处理器一共需要6个功能。 Open,初始化功能,负责将session操作用到的资源初始化。 Cl

文档评论(0)

1亿VIP精品文档

相关文档