搜索
首页后端开发php教程PHP对话控制SESSION与COOKIE介绍

PHP会话控制SESSION与COOKIE介绍

会话控制产生的背景介绍
实现用户跟踪的几个方法:
1、当前页面的变量 page
在当前页面可用,在页面执行完成之后,变量释放了。
2、两个页面之间传递变量 get
通过URL进行传值/abc.php?id=12234&age=2 能够做用户跟踪但是太繁琐。
3、会话级别 session
同一个用户在同一个网站共享自己的变量。
4、全局的 glboal
文件、数据库。任何人、任何网站我都能够使用它们。总之,会话控制其实就是许服务器跟踪同一个客户端做出的连续的请求。
SESSION和COOKIE的区别
cookie:最主要的是服务器端给客户端的信息让客户端存储。原理:一个用户在访问我服务器的时,服务器脚本语言根据业务逻辑设置cookie给用户(登录),用户在客户端电脑特定的文件夹下创建这个网站的文本(通常和域名有关系),该文本主要用于记录要保存的变量,访问多个网站那就创建多个这个文件,用户在访问其他页面的时候http协议会通过httpd的头将客户端设置的文本里面的内容带给其他页面以供使用。多个人访问就是上一步骤的重复执行。
这个保存网站信息的文本文件叫cookie文件,一整套这样的机制叫cookie机制。
Firefox(火狐浏览器)中,cookie信息不是普通的文本信息,加密过了。可以在浏览器中直接查看:
工具->选项->隐私->历史记录->使用自定义历史记录设置->显示cookie
其实在早期cookie的使用是很有争议的,在指定的文件夹下,写指定的文件而且这个文件肯定是个文本。
设置方法:
1、设置cookie setcookie(名,值,保存时间);
注意:
⑴如果保存的时间不写,代表的就是关闭浏览器的时候cookie就消失了。
⑵取cookie使用COOKIE访cookiecookie2setcookie(,,)time()?1cookie使setCookie使_COOKIE[”]=xxoo这种方式设置;
⑵setcookie设置值的时候第二个参数不能是array类型的;
⑶setcookie里面可以存数组,但是要用xxoo[xx]这种方式来存数组。数组可以是索引的也可以是关联的;
⑷如果setcookie里面使用索引数组但是你不给下标的这种格式,那么下标永远是0,后面的值覆盖前面的值;
⑸当你设置完cookie之后如果你在同一个页面马上使用cookie值第一次是不能用的。因为在你请求的同时服务器端刚刚让客户端存;
⑹setcookie里面有第四个参数,就是path就是cookie设置的路径,默认cookie的路径是当前目录下。
3、session:
cookie的升级版,cookie会占用空间、好过电脑账号泄露是通过读取网站COOKIE实现的。
原理:客户端第一次登录网站的时候根据业务逻辑会分配给客户端一个不重复的ID,这个时候服务器端会建立一个文件,这个文件的命名是以分配用户的sessionid 命名的,当客户端拿到sessionid后会以cookie的形式进行存储,如果下次再访问页面将会以cookie的形式将sessionid带过来。带过来的时候,服务器会根据session的机制去读取session id的文件。
4、如何设置session
session_start();开启session的机制 开启session
机制:
⑴当客户端第一次请求服务器的时session_start会分配ID创建session文件。
⑵如果你已经设置过session,它会根据HTTP协议带过来的session id找服务器里面的文件。
5、如何拿值、设置值
SESSION[xxoo]=xxoo;_SESSION[‘xxoo’] 取值也要先开启session start
6、如何销毁session
⑴session_start();
⑵清空$_SESSION数组 unset array(); //因为第三部里面虽然文件没了但是里面的值还在内存里面呢,还能用。
⑶销毁session文件 session_destory();
7、删除客户端session ID
setcookie(‘session ID值’,”,time()-1);
setcookie(session_name(),”,time()-1);
注意:
删除session id、setcookie的时,最好把第四个参数加上
session_name();来动态获得sessionID的值。
php.ini中session.name选项代表的session的名
session.auto_start这个代表的是不用session_start而进入每个页面时自动开启session通常都会关掉。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP依赖注入容器:快速启动PHP依赖注入容器:快速启动May 13, 2025 am 12:11 AM

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

PHP中的依赖注入与服务定位器PHP中的依赖注入与服务定位器May 13, 2025 am 12:10 AM

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

PHP性能优化策略。PHP性能优化策略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

PHP电子邮件验证:确保正确发送电子邮件PHP电子邮件验证:确保正确发送电子邮件May 13, 2025 am 12:06 AM

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

如何使PHP应用程序更快如何使PHP应用程序更快May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

PHP性能优化清单:立即提高速度PHP性能优化清单:立即提高速度May 12, 2025 am 12:07 AM

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

PHP依赖注入:提高代码可检验性PHP依赖注入:提高代码可检验性May 12, 2025 am 12:03 AM

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

PHP性能优化:数据库查询优化PHP性能优化:数据库查询优化May 12, 2025 am 12:02 AM

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器