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 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
福利彩票幸运号码自动生成器
Oct 09 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
php IP及IP段进行访问限制的代码
Dec 17 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
php实现对两个数组进行减法操作的方法
Apr 17 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP基于curl模拟post提交json数据示例
Jun 22 PHP
PHP与Perl之间知识点区别整理
Mar 19 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
33道php常见面试题及答案
2015/07/06 PHP
详解PHP中的Traits
2015/07/29 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Python实现自动签到脚本功能
2020/08/20 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
中医专业职业生涯规划书范文
2014/01/04 职场文书
出纳会计岗位职责
2014/03/12 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
好人好事演讲稿
2014/09/01 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server