




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Session管理,本讲大纲:,1、了解Session2、创建会话3、Session设置时间4、通过Session判断用户的操作权限,支持网站:,了解Session,1什么是SessionSession译为“会话”,其本义是指有始有终的一系列动作/消息,如打电话时从拿起电话拨号到挂断电话这一系列过程可以称为一个Session。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统所经过的时间。因此,Session实际上是一个特定的时间概念。2Session工作原理当启动一个Session会话时,会生成一个随机且唯一的session_id,也就是Session的文件名,此时session_id存储在服务器的内存中,当关闭页面时此id会自动注销,重新登录此页面,会再次生成一个随机且唯一的id。3Session的功能Session在Web技术中非常重要。由于网页是一种无状态的连接程序,因此无法得知用户的浏览状态。通过Session则可记录用户的有关信息,以供用户再次以此身份对Web服务器提交要求时作确认。例如,在电子商务网站中,通过Session记录用户登录的信息,以及用户所购买的商品,如果没有Session,那么用户每进入一个页面都需要登录一次用户名和密码。另外,Session会话适用于存储信息量比较少的情况。如果用户需要存储的信息量相对较少,并且对存储内容不需要长期存储,那么使用Session把信息存储到服务器端比较合适。,创建一个会话需要通过以下步骤:启动会话注册会话使用会话删除会话1启动会话启动PHP会话的方式有两种:一种是使用session_start()函数,另一种是使用session_register()函数为会话登录一个变量来隐含地启动会话。在PHP中有两种方法可以创建会话。通过session_start()函数创建会话。语法格式如下:boolsession_start(void);通过session_register()函数创建会话。session_register()函数用来为会话登录一个变量来隐含地启动会话,但要求设置php.ini文件的选项,将register_globals指令设置为on,然后重新启动Apache服务器。,创建会话,2注册会话会话变量被启动后,全部保存在数组$_SESSION中。通过数组$_SESSION创建一个会话变量很容易,只要直接给该数组添加一个元素即可。例如,启动会话,创建一个Session变量并赋予空值,代码如下:3使用会话首先需要判断会话变量是否有一个会话ID存在,如果不存在,就创建一个,并且使其能够通过全局数组$_SESSION进行访问。如果已经存在,则将这个已注册的会话变量载入以供用户使用。例如,判断存储用户名的Session会话变量是否为空,如果不为空,则将该会话变量赋给$myvalue,代码如下:,注册、使用会话,4删除会话删除会话的方法主要有删除单个会话、删除多个会话和结束当前会话3种,下面分别进行介绍。(1)删除单个会话删除会话变量,同数组的操作一样,直接注销$_SESSION数组的某个元素即可。例如,注销$_SESSIONuser变量,可以使用unset()函数,代码如下unset($_SESSIONuser);(2)删除多个会话如果想要一次注销所有的会话变量,可以将一个空的数组赋值给$_SESSION,代码如下:$_SESSION=array();(3)结束当前会话如果整个会话已经结束,首先应该注销所有的会话变量,然后使用session_destroy()函数清除结束当前的会话,并清空会话中的所有资源,彻底销毁Session,代码如下:session_destroy();,删除会话,在大多数论坛中都可在登录时对登录时间进行选择,如保存一个星期、保存一个月等。这时就可以通过Cookie设置登录的失效时间。1客户端没有禁止Cookie(1)使用session_set_cookie_params()设置Session的失效时间,此函数是Session结合Cookie设置失效时间(2)使用setcookie()函数可对Session设置失效时间2客户端禁止Cookie当客户端禁用Cookie时,Session页面间传递会失效,可以将客户端禁止Cookie想象成一家大型连锁超市,如果在其中一家超市内办理了会员卡,但是超市之间并没有联网,那么会员卡就只能在办理的那家超市使用。解决这个问题有4种方法:(1)在登录之前提醒用户必须打开Cookie,这是很多论坛的做法。(2)设置php.ini文件中的session.use_trans_sid=1,或者编译时打开-enable-trans-sid选项,让PHP自动跨页面传递session_id。(3)通过GET方法,隐藏表单传递session_id。(4)使用文件或者数据库存储session_id,在页面间传递中手动调用。,Session设置时间,在大多网站的开发过程中,需要对管理员和普通用户对操作网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门红宝石投资管理有限公司社会招聘1人笔试历年参考题库附带答案详解
- 2025河南南阳财和投资有限公司招聘(第七号)笔试历年参考题库附带答案详解
- 2025年福建省晋江水务集团有限公司招聘项目制工作人员11人笔试历年参考题库附带答案详解
- 2025年江西上饶市信州区国瑞投资控股有限公司招聘(补录)1人(第一次)笔试历年参考题库附带答案详解
- 2025四川绵阳市九州电子科技股份有限公司招聘智能制造工程师测试笔试历年参考题库附带答案详解
- 2025年福建省龙岩市武平县事业单位招聘5人考前自测高频考点模拟试题有完整答案详解
- 2025年河北唐山芦台经济开发区事业编制教师人员2名模拟试卷及参考答案详解
- 2025呼伦贝尔农垦集团有限公司校园招聘44人模拟试卷及答案详解(名校卷)
- 2025江西南昌动物园百花园管理所招聘3人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年河北沧州南皮县中医医院公开招聘工作人员16名考前自测高频考点模拟试题及答案详解(名校卷)
- 2024年新高考Ⅰ卷英语真题(原卷+答案)
- 2025山东东营公安招录辅警392人考试参考试题及答案解析
- 中职高教版(2023)语文职业模块-第五单元:走近大国工匠(一)展示国家工程-了解工匠贡献【课件】
- 电力各种材料重量表总
- 樊荣-《医疗质量管理办法》核心制度要点解析与案
- 男性不育症诊治指南课件
- 《声声慢》省赛一等奖
- 消防安全教育培训记录表
- 国家开放大学《实用管理基础》形考任务1-4参考答案
- 2023混凝土结构耐久性电化学修复技术规程
- 食品有限公司制冷机安全风险分级管控清单
评论
0/150
提交评论