第16讲:保存会话的技术之cookie(增、删、改、查)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.会话含义

打开浏览器,访问某个网站的很多页面,当你关闭浏览器后,一个会话结束。

2.会话技术

①cookie ②session

cookie

1.cookie是以字符串的形式保存在客户端的。

2.图解

3.cookie可以用来做什么

①保存上次登录的时间等信息

②保存用户名、密码,在一定时间内不用重复登录

③记录用户访问网站的喜好

④网站的个性化,比如定制网站的服务、内容

4.案例—>如何创建cookie(setcookie)

setcookie(“#1”,”#2”,time()+3600);

setcookie(“##1”,”##2”,time()+3600)

echo “保存成功”;

?>

①第一个参数表示cookie一个key(键);第二个参数表示一个val(内容);第三个数表示cookie值(时间),在客户端保存时间,按秒计算。

②key<---->val ;一个key 对应一个val;客户端的cookie 可以保存多个key<==>val 段。

③如果上述代码中没有时间参数,则cookie不会保存到客户端。

④val 中只能保存字符串;不能保存对象;且保存形式是明文的;所以重要的信息不能保存到cookie中去。(如果非要保存的话,要用md5()加密)

⑤cookie 也可以保存中文,默认将会对中文进行urlencode 编码。(可以使用urldecode 方式解码进行查看!!)

⑥cookie中的键值段(key<==>val)的时间可以不统一!!(session必须统一!!)

5.案例—>如何获取cookie信息($_COOKIE)

//获取全部cookie信息

echo “

”;

print_r($_COOKIE);

echo”

”;

//获取指定key的对应信息

$name=$_COOKIE[‘name’];

echo “name=”.$name;

?>

注:如果获取的cookie不存在,则为空。

6.如何更新cookie setcookie()

更新cookie相当于重新创建一个cookie;使用setcookie() 函数。

7.如何删除cookie

①如何删除指定cookie

setcookie(“#1”,””,time()-1);

注:第一个参数写入要删除的key;第二个参数写不写无所谓;时间参数减去秒数,秒数大小不固定。

②如何删除整体的cookie

foreach($_COOKIE as $key=$val){

setcookie($key,””,time()-1);

}

注:①用遍历的的方法删除所有的cookie

②当cookie全部被删除后;存放cookie的文件也会被删掉。

8.代码显示用户登录时间

if(!empty($_COOKIE['lasttime'])){

date_default_timezone_set("asia/chongqing") ; //设置时区

echo"你上次的登录时间是".$_COOKIE['lasttime'];

//更新时间

setcookie("lasttime",date("Y-m-d H:i:s"),time()+24*3600);

}else{

echo"你是第一次登陆";

//更新时间

setcookie("lasttime",date("Y-m-d H:i:s"),time()+24*3600);

}

?>

9.解决时区问题

①在php文件中设置

date_default_timezone_set("asia/chongqing") ;

②在php.ini文件中设置

date.timezone=Asia/Chongqing

10.案例是否保存用户名在本地注意事项

①cookie的写入与查询时都要判断其数值是否为空。

②注意代码的前后顺序。

11.cookie小结

①一个web站点可以给一个web浏览器发送多个cookie;一个web浏览器也可以存储多个web站点提供的cookie。

②如果一个cookie没有给定时间,那么它只会保存在浏览器的内存中;浏览器关闭了,内容便会消失。

相关文档
最新文档