07状态保存.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07状态保存要点

php PHP程序设计 07 状态保存 状态保存的方法; Cookie的使用; Session变量的使用; 用户登录功能的分析。 本节提要 * GET请求通过URL传递信息; POST请求通过表单传递信息。 两个页面之间传递信息可以使用以上方法,多个页面则显得繁琐、效率低。 如何在多个页面间共享信息呢? 多页间信息共享 * page1 page2 page3 page N Data …… HTTP协议本身是无状态的。 对于用户的浏览过程,逻辑上需要保持状态。 状态:即与用户及其浏览有关的信息。 根据保存位置,状态信息可分为两种: 状态保存的两种方法 * 浏览器 服务器 Cookie Session Cookie为存储在客户机浏览器上的一小段数据,表现为名值对。 Cookie由服务端程序进行设置。 Cookie * 浏览器 服务器 在响应报文中附带设置Cookie的信息 浏览器设置Cookie 之后的请求报文中,浏览器附上已设置的Cookie信息 服务器获取Cookie,得到状态信息 1 2 3 4 响应时设置Cookie: 请求时附带Cookie: HTTP报头示例 * 可在浏览器中查看Cookie: 查看Cookie * setcookie()函数: Cookie名与值的类型均为字符串; 过期时间为Unix时间戳。 如果没有设置过期时间,则关闭浏览器时失效。 设置Cookie * CODE setcookie(username,Billy); setcookie(username,Billy,time()+60*60*24); setcookie(username,Billy, strtotime(+1 day)); Cookie在报头设置,所以在向浏览器输出内容之前调用setcookie()函数 再次设置Cookie,则原值被覆盖: 通常,再次设置时与初次设置时的参数个数保持一致,以免导致非预期结果。 修改Cookie * CODE setcookie(username,Peter); setcookie(username,Peter,time()+60*60*24); setcookie(username,Peter, strtotime(+1 day)); 使用数组元素的方式设置Cookie: 设置数组Cookie * CODE setcookie(names[mine],Billy,time()+60); setcookie(names[yours],Peter,time()+60); setcookie(names[hers],Mary,time()+60); CODE setcookie(names[],Billy,time()+60); setcookie(names[],Peter,time()+60); setcookie(names[],Mary,time()+60); ? 无需加引号 使用超全局变量$_COOKIE获取Cookie: 如果Cookie的值为数组,可进一步遍历 读取Cookie * CODE if(isset($_COOKIE[username])) echo $_COOKIE[username]; CODE foreach($_COOKIE[names] as $name) echo $name; 设置过期时间为:已过去的某个时间。 删除Cookie * CODE 设置: setcookie(username,Billy,time()+60*60*24); 删除: setcookie(username,,time()-1); 或 setcookie(username,,time()-60); 为避免服务器与客户机的时间差造成影响,通常减去一个稍大的数。 具体的值已经不重要。 一个Cookie大小限制为4K,无法存储过多数据。 Cookie存储在客户端浏览器,可能有潜在的安全问题。 用户有可能禁用Cookie。 Cookie的注意事项 * Session变量为存储在服务器中的数据,表现为名值对。 通过Session ID 区分不同会话。 会话:Session * 浏览器 服务器 在响应报文中告知Session ID 浏览器通过Cookie 记下Session ID 之后的请求报文中,浏览器通过Cookie发送Session ID 服务器创建Session,设置Session变量 2 3 4 1 服务器根据Session ID,获取Session变量 5 session_start()函数: 由于创建Session时需要在报头设置Cookie,

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档