php 中session作用

如题所述

第1个回答  推荐于2018-04-30
session是什么,刚开始我也不明白,非专业词典翻译为会议,会议期。直到接触asp后才知道session是干什么的,有什么用。
作个不太恰当的比喻吧(虽然不恰当,但意义却是一样的),session就好象你和你女友(或妻子)之间的感情似的,session是你和网站之间的感情。
session在WEB技术中占有非常重要的份量。由于网页是一种无状态的连接程序,因此你无法得知用户的浏览状态。因此我们必须
通过session记录用户的有关信息,以供用户再次以此身份对web服务器提供要求时作确认,例如,我们在某些网站中常常要求用户登录,
但我们怎么知道用户已经登录了呢,如果没有session的话,登录信息是无法保留的,那岂不要让用户在每一页网页中都要提供
用户名和密码。
当然,session不光用于用户身份认证功能,还可能用于其它方面,以后我们会提到的。
session用中文来解释就是会话期。一个会话期开始于用户输入一个站点的网址时,结束于他离开这个站点时。
session最早出现在动态脚本语言Active Server Pages中,它的功能之强大,是一句话无法说清楚的。
当php还在3.0版本时,session是它永远的痛。虽然php具有执行速度快,使用灵活,功能强大等优点,但因为session的问题,使很多站点的开发放弃了php,至少我的老板是这样认为的。当时有很多php免费函数库提供在php3上实现session的方案,但都让人感觉不正宗。
就好象你花好几千大洋买的手机却配置一个很粗糙的草作的袋子一样,虽然功能是一样的,但总让人觉得别扭。php4的出现让php在session问题上
有了翻身的机会。虽然它的session实现还不是很理想(主要是效率问题),但毕竟是它自己实现的,而且可以实际使用了。
那我们用session干什么呢,你说了半天,我用不上的话,你岂不有卖纸张之嫌。OK,我们来看看session有什么用:作过网站的人都有这样的体会,在一页页面中的变量(在本章都指服务器端变量,下同)是不能在下一页中用的,虽然有一些办法可以实现,比如用form,urlstring等等
但有些对于用户来说是不方便的,即使让form自动提交,但其中的延时在现今的网络状况下足以让人窒息,而这两种方法都明显加大程序员的负担。如果你正在开发一个大型项目,那这些额外的负担是不能忽略的。而有了session就好办了,session中注册的变量可以作为全局变量使用。什么,全局变量?
好极了。这样一来,你知道有什么用了吧:最主要的用于用户身份认证,程序状态记录,页面之间参数传递。
说了它这么半天的好处,你已经动心了吧,先别高兴,它还有缺点呢:它是用文件保存的变量(当然效率不高了,虽然可以用别的方式,但
很麻烦的),不能保存对象。与之相对的是,asp中的session可以保存对象变量,用内存变量来保存session变量。但为什么我们还选用php呢,呵呵,
为什么,你能从本书的开始看到这章,想必你也应该明白了吧,你还不明白,Faint,你再从头看起吧,我保证你成为PHP专家^_^。
session是怎样实现的呢?呵呵,你一定以为很高深吧,我来告诉你它的秘密。如果说只保存变量的话,很多读者都明白,这是很简单的,
但前面我们说过,http协议是一种无状态的连接,你怎么知道那个变量是谁的,这个变量又是谁的呢?在session实现中用cookie实现的。cookie
存在于客户端,也就是用户的机器中,里面保存着用户的session ID,也就是session号码,当用户的浏览器请求服务器时把session ID也一起送到
服务器,这样服务器就可以识别你是谁,也就可以把变量识别开了。这样我们就不难理解了,为什么有时session会失效了。不信的话,你可以试试:
在IE的"工具"菜单上有"Internet选项"菜单,打开后再选"安全"->"自定义级别",将安全设置中的"允许使用每个对话cookies"设为禁用,再看看
session能不能用。这下明白了吧!不过php4在linux/unix平台上可以自动检查cookies状态,当cookies 不可用时,自动会把session ID
附带在url上进行传递。这是它在session方面比asp多的唯一的优点了。本回答被提问者和网友采纳

PHP session干嘛用的?举个简单易懂的例子
常用于记录用户的个人信息,比如网站的登录等!session写入后,在有效期内,无需其他操作即可在同一网站中的任何一个php文件进行访问!比如,在登录页面写入 $_SESSION['UserName'] = 'abc';那么,在其他页面可以使用 $_SESSION['UserName']取得这个session的值,根据这个值可以判定用户是否登录、登录的是...

php session怎么设置?
PHPSession的作用如下:1、跨页面数据传递:Session可以在不同的页面之间传递数据,无需将数据通过URL参数或表单隐藏字段传递。这对于需要在多个页面之间保持用户登录状态、保存用户偏好设置、记录用户购物车等场景非常有用。2、用户身份认证:Session通常用于跟踪用户的登录状态。当用户成功登录后,会在Session中...

php session是什么意思
在使用PHP编程时,session是指服务器保存在内存或磁盘中的数据对象,供客户端和服务器端之间进行数据交互。具体来说,当用户访问网站时,服务器会在内存或磁盘上创建一个session对象,然后将其与一个唯一的session ID相关联。这个session ID可以通过cookie或URL进行传递,从而实现不同页面间数据的共享。PHP ...

怎么理解PHP Session的用法 生命周期 过期时间
session简介 Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间以及如果需要的话,可能还有一定的操作空间。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览...

session使用详解
Session 支持存储数组和对象。对象存储时,PHP 自动进行序列化,方便在会话中传递复杂数据类型。在后续操作中,通过反序列化重构对象,实现数据的读取和使用。综上,Session 在 PHP 开发中扮演重要角色,提供安全、灵活且高效的会话管理机制,与 Cookie 相比具有明显优势。通过合理配置和使用,Session 可以实现...

php中Session使用方法详解
PHP默认使用基于Cookie的Session,SessionID存储于客户端Cookie。在注销时需清除Cookie中的SessionID,使用setCookie()函数实现。PHP中session.auto_start选项允许自动启动会话,但限制了类对象在会话中的使用。Session具有自动回收机制,通过设置session.gc_maxlifetime,系统在指定时间后自动删除未被引用的Session...

关于session和session_start的问题
Session是服务器和客户端之间的一种会话状态。当用户访问一个网站时,服务器可以为用户创建一个唯一的会话标识,并在整个用户访问期间通过该标识来跟踪用户的状态。这样,服务器可以存储用户在不同页面间的数据,如用户名、购物车内容等。2. Session_start函数的作用:在PHP中,使用session_start函数可以...

php session怎么理解啊,和cookie的区别在哪里?有没有具体的例子_百度知 ...
session是为了弥补Web服务无状态会话的一个服务器端保存的一个临时用户数据,根据这个数据,服务器可以重建用户会话信息。cookie是为了适应本地脚本临时数据存储和与服务器端交互进行会话认证的数据保持功能 简单的说,session需要启用cookie才能正常的使用。抓取HTTP数据包时,会发现在请求网页内容时发送COOKIE: ...

Session的作用是什么
简单说来是识别用户并保持用户信息 不能使用session会话可能的原因可分几方面 如果是服务端不能用,例如PHP有的时候不能用,可能是Session的存储位置设置有问题或是没有开启session支持 如果是asp或.net不能用(IIS6)有可能是应用程序池回收过于频繁 如果访问的用户有的能用,有的不能用那就是客户端...

为什么设置php的session
1.session.use_cookies = 1,默认1,代表SessionId通过cookie来传递,否则会用Query_String 2.session.name = PHPSESSID,默认PHPSESSID,代表SessionID储存的变量名称,可能是Cookie,也可能是Query_String来传递 3.session.cookie_lifetime = 604800,是SessionID在客户端Cookie储存的时间,默认是0,代表...

相似回答