PHP典型模块与项目实战大全:客户端数据存储机制cookie[1]

如题所述

第1个回答  2022-10-12

     客户端数据存储机制cookie

  在实际的Web应用中经常需要在客户端存储一些客户信息 一方面是为了改善用户体验(如存储访问密码 历史表单信息) 另一方面有效地减轻了服务器数据读取压力 访问者在第一次访问页面时设置cookie变量是存储在客户端计算机中 当下次浏览器请求某个页面时 就可以读取cookie中存储的值 从而实现客户端数据存取

  下面将通过一个例子展示一个客户端数据存储的实际应用 执行流程如下

  ( )创建一个存储访问者名字的cookie;

  ( )当访问者首次访问网站时 访问者会被要求填写姓名信息 该姓名信息会存储于cookie中

  ( )当访问者再次访问网站时浏览器会显示欢迎词信息

   在JavaScript创建cookie

  创建一个可在cookie变量中存储访问者姓名的函数 代码如下

  function setCookie(c_name value expiredays)

  {

  var exdate=new Date()                         //实例化日期变量

  exdate setDate(exdate getDate()+expiredays)   //设置日期变量

  document cookie=c_name+ = +escape(value)+

  ((expiredays==null) ? : ;expires= +exdate toGMTString())

  }

  【代码解读】

  setCookie()函数的功能是设置cookie的名称 值及失效时间 首先将获取当前的日期转换为有效的日期 然后设置cookie名称 值及失效时间 并将该值存入document cookie对象

   从JavaScript取回cookie的值

  从JavaScript取回cookie的值 创建读取客户端cookie值的函数 同时判断当前cookie的状态 代码如下

  function getCookie(c_name)

  {

  if (document cookie length> )                   //判断当前cookie是否为空

  {

  c_start=document cookie indexOf(c_name + = )

  if (c_start!= )

  {

  c_startc_start=c_start + c_name length+

  c_end=document cookie indexOf( ; c_start)

  if (c_end== ) c_end=document cookie length

  return unescape(document cookie substring(c_start c_end))

  //返回客户端cookie的值

  }

  }

  return

  }

  【代码解读】

  getCookie()函数首先会判断document cookie对象中是否存有cookie 如果document cookie对象存有某些cookie值 那么会继续检查指定的cookie是否已储存 如果满足判断条件就返回cookie存储值 否则返回空字符串

   JavaScript流程控制

  当完成了cookie的创建和读取之后 需要创建一个流程控制函数 这个函数的作用是 如果cookie已设置 则显示欢迎词 否则显示提示框要求用户输入名字

  function checkCookie() {

  username=getCookie( username )                  //获得cookie中的用户名变量

  if (username != null && username != ) {

  alert( Wele again +username+ ! )    //弹出欢迎信息

  } else {

  username=prompt( Please enter your name: )

  if (username != null && username != ) {

  setCookie( username username )  //设置cookie

  }

  }

  }

  客户端数据存储示例的完整代码如下

lishixinzhi/Article/program/PHP/201311/21526

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网