PHP中的会话管理Cookie和Session【原创】
2014-11-28 00:00
603 查看
会话管理是web开发的一项重要内容,包括Session和Cookie两种技术。本章介绍Cookie和Session的创建和使用。
Cookie:
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP能够创建并取回 cookie 的值。cookie 只能读取所在域,单一域不能超过20个cookie,每个cookie文件长度上限位4k字节,浏览器最多储存300个cookie。
cookie的创建:
setcookie() 函数用于设置 cookie。注意:setcookie() 函数必须位于 <html> 标签之前。
语法:
注释:在发送cookie时,cookie的值会自动进行URL编码。接收时会进行URL解码。
例子:
1.设置并发送 cookie:
2.检索出 cookie 值的不同方法:
3.输出
4.删除 cookie
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
Session:
PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
session的创建:
在您把用户信息存储到 PHP session 中之前,首先必须启动会话。session_start() 函数必须位于 <html> 标签之前。
语法:
例子:
1.开始session
2.存储 session 变量
存储和取回 session 变量的正确方法是使用 $_SESSION 变量:
3.输出
4.终结 session
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量:
您也可以通过 session_destroy() 函数彻底终结 session:
Cookie:
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP能够创建并取回 cookie 的值。cookie 只能读取所在域,单一域不能超过20个cookie,每个cookie文件长度上限位4k字节,浏览器最多储存300个cookie。
cookie的创建:
setcookie() 函数用于设置 cookie。注意:setcookie() 函数必须位于 <html> 标签之前。
语法:
/** * name:必需。规定 cookie 的名称。 * value:必需。规定 cookie 的值。 * expire:可选。规定 cookie 的有效期。 * path:可选。规定 cookie 的服务器路径。 * domain:可选。规定 cookie 的域名。 * secure:可选。规定是否通过安全的 HTTPS 连接来传输 cookie。 */ setcookie(name,value,expire,path,domain,secure)
注释:在发送cookie时,cookie的值会自动进行URL编码。接收时会进行URL解码。
例子:
1.设置并发送 cookie:
<?php $value = "my cookie value"; // 发送一个简单的 cookie //cookie24小时过期 setcookie("TestCookie", $value, time()+3600*24); ?> <html> <body> ... ...
2.检索出 cookie 值的不同方法:
<html> <body> <?php // 输出个别的 cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // 输出所有 cookie print_r($_COOKIE); ?> </body> </html>
3.输出
my cookie value my cookie value Array ([TestCookie] => my cookie value)
4.删除 cookie
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
<?php // set the expiration date to one hour ago setcookie("TestCookie", "", time()-3600); ?>
Session:
PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
session的创建:
在您把用户信息存储到 PHP session 中之前,首先必须启动会话。session_start() 函数必须位于 <html> 标签之前。
语法:
session_start();
例子:
1.开始session
<?php session_start(); ?> <html> <body> </body> </html>
2.存储 session 变量
存储和取回 session 变量的正确方法是使用 $_SESSION 变量:
<?phpsession_start();// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
3.输出
Pageviews=1
4.终结 session
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量:
<?php unset($_SESSION['views']); ?>
您也可以通过 session_destroy() 函数彻底终结 session:
<?php session_destroy(); ?>
相关文章推荐
- PHP会话管理:cookie和session
- PHP基础----PHP 会话管理----22Cookie 和 Session 的概念与区别
- 笔记之Servlet的会话管理技术(cookie、session)(应用:用户自动登录、防表单重复提交)
- 客户端(ios和android)与服务器之间的会话管理(session和cookie)
- 会话管理-cookie,session,禁用cookie的URL重写,token的单态设计模式,异常抛出,UUID,MD5,base64编码
- Web开发之会话管理技术(Cookie、Session)
- [原创]java WEB学习笔记28: 会话与状态管理Cookie 机制
- PHP自学之路----会话技术(cookie session)
- PHP会话处理——Cookie和Session
- php会话控制(session与cookie)
- 细谈会话管理-----Cookie和Session
- php学习笔记-会话控制简单介绍session和cookie(一)
- PHP会话控制:Session与Cookie详解
- PHP 会话控制Cookie和Session
- PHP - Manual手册 - CXLIX. Session 会话处理函数 - session.use_only_cookies指定是否在客户端仅仅使用 cookie 来存放会话 ID
- php会话管理cookie介绍
- PHP会话控制:Session与Cookie详解
- php会话控制(session&cookie)
- 关于PHP会话:session和cookie
- PHP......会话控制SESSION与COOKIE