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获得用户使用的代理服务器ip即真实ip
Dec 31 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
浅析PHP中Collection 类的设计
Jun 21 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
完整删除ecshop中获取店铺信息的API
Dec 24 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
PHP中list()函数用法实例简析
Jan 08 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
php版微信公众平台实现预约提交后发送email的方法
Sep 26 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 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/03/09 PHP
PHP 各种排序算法实现代码
2009/08/20 PHP
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
PDO::errorInfo讲解
2019/01/28 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
python不同版本的_new_不同点总结
2020/12/09 Python
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
简单叙述一下MYSQL的优化
2016/05/09 面试题
经济管理专业求职信
2014/06/09 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
颐和园的导游词
2015/01/30 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
党小组鉴定意见
2015/06/02 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python