第十二章 会话控制

 

学习要点:
1.Cookie 的应用
2.Session 会话处理

 

      HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本、图形、视频和所有
其他数据所有的规则。HTTP 是一种无状态的协议,说明每次请求的处理都与之前或之后的
请求无关。虽然这种简化实现对于HTTP 的普及做出了卓越的贡献,但对于希望创建复杂的
Web 应用程序的开发人员来说,这点有点困扰。为了解决这个问题,出现了一种在客户端
机器上存储少量信息(cookie)。
由于cookie 大小限制、数量及其他原因,开发人员又提出了一种解决方案:session 会
话处理。

 

一.Cookie的应用

设置cookie:setcookie()函数可以在客户端生成一个cookie 文件,这个文件可以保存到
期时间、名称、值等。


创建cookie

<?php
setcookie('name','Lee',time()+(7*24*60*60));
?>

参数1:cookie 名称
参数2:cookie 值
参数3:cookie 过期时间

 

读取cookie

<?php
echo $_COOKIE['name'];
?>

 

删除cookie

<?php
setcookie('name','');
setcookie('name','Lee',time()-1);
?>

 

使用Cookie 的限制

1、必须在HTML 文件的内容输出之前设置;
2、不同的浏览器对Cookie 的处理不一致,且有时会出现错误的结果。
3、限制是在客户端的。一个浏览器能创建的Cookie 数量最多为30 个,并且每个不能
超过4KB,每个WEB 站点能设置的Cookie 总数不能超过20 个。

 

二.Session会话处理

在使用session 会话处理,必须开始session,使用session_start()开始会话。

创建session 并读取session

<?php
session_start();
$_SESSION['name'] = 'Lee';
echo $_SESSION['name'];
?>

判断session 是否存在

<?php
session_start();
$_SESSION['name'] = 'Lee';
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}
?>

删除session

<?php
session_start();
$_SESSION['name'] = 'Lee';
unset($_SESSION['name']);
echo $_SESSION['name'];
?>

销毁所有session

<?php
session_start();
$_SESSION['name'] = 'Lee';
$_SESSION['name2'] = 'Lee';
session_destroy();
echo $_SESSION['name'];
echo $_SESSION['name2'];
?>

 注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

posted @ 2014-04-23 09:24  水之原  阅读(307)  评论(0编辑  收藏  举报