PHP中Session和Cookie是如何操作的_php技巧

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中session和cookie
, session和cookie区别
, session和cookie测试
session和cookie选择
php session cookie、php session和cookie、php cookie与session、php操作cookie、php操作session,以便于您获取更多的相关知识。

时间: 2024-10-31 16:44:14

PHP中Session和Cookie是如何操作的_php技巧的相关文章

对Session和Cookie的区分与解释_php技巧

对Session和Cookie的区分与理解  先说session 对SESSION的争论好象一直没有停止过,不过幺麽能理解SESSION的人应该占90以上.但还是讲讲,别嫌老~ 有一些人赞成用SESSION,有一些人不赞成.但这个问题到底要怎么说.不妨听听我的看法,如果有错误请不要朝丢东西,金条和硬币除外. 有些人应该知道我是做江湖程序的,而江湖程序做看中的就是效率,但这里不谈设计,而从一些比较实际的角度看SESSION. 首先要先说SESSION是干什么的,SESSION是可以存储针对与某一个

php中session与cookie的比较_php技巧

本文较为详细的比较了php中session与cookie区别.分享给大家供大家参考.具体分析如下: 1.存放的位置 cookie保存在客户端,session保存在服务器端的文件系统/数据库/memcache等. 2.安全性 session因为保存有服务器端,安全性无疑更高一些. 3.网络传输量 cookie通过网络在客户端与服务器端传输,会占用一些带宽:而session保存在服务器端,不需要传输. 4.保存时间(生命周期),以20分钟为例 cookie的生命周期是累计的,从创建时就开始计算,20

Asp.net中安全退出时清空Session或Cookie的实例代码_实用技巧

概览: 网站中点击退出,如果仅仅是重定向到登录/出页面,此时在浏览器地址栏中输入登录后的某个页面地址如主页,你会发现不用登录就能访问.这种所谓的退出并不是安全的. 那么怎样做到安全退出呢? 那就是点击退出后清空相应的Session或Cookie. 清空Session的代码: Session.Clear(); Session.Abandon(); 清除Cookie的正确代码(假设Cookie名称为UserInfo): if (Request.Cookies["UserInfo"] !=

asp.net中session和cookie的关系和区别

Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间.而SessionID这一数据则是保存到客户端,用Cookie Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间.而SessionID这一数据则是保存到客户端,用C

php中session放cookie优缺点分析

这篇文章不是讨论session,也不是cookie,现在很多网站都是讲session放cookie中,叫做cookie based session,下面就来讨论下cookie based session的优缺点: 优点: 1.减轻服务器压力,如PHP session默认是文件存储格式的,这样就会较少磁盘压力,不会给磁盘造成较多的碎片. 2.你在做集群的时候,是不是要做session同步的问题,cookie based session后就免去了. 缺点: 1.同一个用户,可能在多个地方登录,你也无

浅析php中session和cookie的区别和联系

首先谈谈cookie吧,百度百科是这样定义的:是网站为了辨别用户身份.进行session跟踪而存储在用户本地终端上的数据(通常经过加密).     php中生成一个cookie的方法很简单:setcookie(name, value, expire, path, domain);     name:cookie中定义的名字.     value:cookie中对name所保存的值.这个值保存在了用户的终端:不要保存敏感信息(个人重要信息,金钱).     expire:cookie中名值对保存的

PHP中怎样保持SESSION不过期 原理及方案介绍_php技巧

PHP中如何保持SESSION以及由此引发的一些思考  最近的一个项目,里面有一个比较大的表单,用户完成它需要很多时间,很多用户花了千辛万苦完成之后,一提交发现SESSION过期,系统退出了,所以引起了研究如何设置SESSION以及保持SESSION在线的需要,下面是一些心得体会. 什么是SESSION?按照WIKI的解释,SESSION是存在于两个通信设备间的交互信息,在某一时间建立,经过一定的时间后失效.常见的SESSION有:TCP SESSION.WEB SESSION(HTTP SES

ie与session丢失(新窗口cookie丢失)实测及解决方案_php技巧

今天在一个群中有人问到ie6中使用js的open,发现新窗口中并获取不到session, 经过使用下面的测试代码测试发现,是因为phpsessionid储存是进程级的有效期,只有同一进程才能获取得到,很多人说,open后或是target="_blank",都是会打开新的ie进程, 所以,之前窗口的phpsessionid就不跟着新窗口走,导致获取不到. 我自己的测试使用的是ietest,6/7/8(9启动不起来,不确定),都出现相同的情况. 但是使用windows自带的ie10测试不存

JavaScript对Cookie进行读写操作实例_javascript技巧

本文实例讲述了JavaScript对Cookie进行读写操作的方法.分享给大家供大家参考.具体如下: 这里没用到任何的js库,直接使用js的方法进行cookie的读写 <HTML> </HEAD> <BODY> <SCRIPT language="JavaScript"> <!-- function set_it() { var the_text="name=yourName&"; var toexpir