PHP中Session和Cookie是如何操作的


Posted in PHP onOctober 10, 2015

Session
PHP的$_SESSION可以存储当前用户数据信息,用户访问WEB网站的时候,PHP会给每个访问的用户创建一个session ID,该ID是唯一ID,保存在客户机上,而用户的会话数据是保存到服务端的,PHP可以对每个不同的用户信息进行存储,当会话过期后,用户session信息也会失效。
使用Session,在使用PHP session时,一定要在页头加上session_start(),告诉服务器开始使用session了,而且在它之前应该没有任何输出,否则会报错。

<?php 
session_start(); 
 
//PHP 代码... 
?>

PHP设置与获取Session
我们可以使用PHP的$_SESSION来设置和获取Session数据,如:

<?php 
session_start();  
 
//设置一个session值 
$_SESSION["name"] = "Hello"; 
 
//将session以数组形式保存 
$_SESSION["arr"] = array('name' => 'Hello', 'url' => 'http://www.helloweba.com', 'type'=> 'website'); 
?>

一旦储存了Session数据,我们就可以在网站上使用Session,比如我们在另一个页面就可以获取Session数据:

<?php 
session_start();  
 
//获取保存的Session name 
echo $_SESSION["name"]; 
 
//打印数组session 
print_r($_SESSION["arr"]); 
?>

PHP删除Session
当不再使用Session时,我们可以使用PHP将session数据删除和清空,方法如下:

<?php 
unset($_SESSION["name"]); 
?>

如果要清空当前用户所有的Session信息可以使用以下代码:

<?php 
session_destroy(); 
?>

Cookie
Cookie是由用户访问的网站服务端给当前客户机上创建的一个临时文件,用来保存用户信息,以便用户下次继续访问该网站时,网站服务器能识别用户信息,常见的Cookie用来保存用户界面,用户ID等数据。
PHP设置Cookie
我们可以使用PHP的setcookie()在客户端创建cookie,这个函数提供主要的三个参数,cookie名称,值和有效时长。

<?php 
$cookie_val = 'Chrome'; 
setcookie("browser", $cookie_val, time()+3600); 
?>

运行以上代码,将会创建一个名称为Chrome的Cookie,并且在客户端保存1个小时,1小时后该cookie信息失效。
PHP接收Cookie
当Cookie创建后,我们很容易就可以获取到cookie值,使用PHP的$_COOKIE,用法如下:

<?php 
if(isset($_COOKIE['browser'])) { 
  echo '您的浏览器是:' . $_COOKIE['browser']; 
} 
?>

PHP删除Cookie
如果你想彻底在你的机器上删除保存的cookie信息,可以使用以下代码:

<?php 
setcookie("browser", "", time()-3600); 
?>

以上代码将名称为browser的cookie清空,并将有效期设置到1小时前,完全清空了cookie信息。
本文从初学者角度考虑,讲解了PHP入门级的知识:Session和Cookie的应用,我们不必去深究其原理,只要会用就行。

PHP 相关文章推荐
PHP 木马攻击防御技巧
Jun 13 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
ThinkPHP登录功能的实现方法
Aug 20 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 PHP
PHP中JSON的应用技巧
Oct 10 #PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 #PHP
解决PHP里大量数据循环时内存耗尽的方法
Oct 10 #PHP
php中删除、清空session的方式总结
Oct 09 #PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 #PHP
PHP中Closure类的使用方法及详解
Oct 09 #PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 #PHP
You might like
PHP开发过程中常用函数收藏
2009/12/14 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
2018/05/04 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
Java语言程序设计测试题选择题部分
2014/04/03 面试题
电话销售经理岗位职责
2013/12/07 职场文书
旅游网创业计划书
2014/01/31 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
践行三严三实心得体会
2014/10/13 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
医生辞职信范文
2015/03/02 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
导游词之丹东鸭绿江
2019/10/24 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS