PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制

上传人:E**** 文档编号:91246933 上传时间:2019-06-26 格式:PPT 页数:30 大小:559.05KB
返回 下载 相关 举报
PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制_第1页
第1页 / 共30页
PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制_第2页
第2页 / 共30页
PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制_第3页
第3页 / 共30页
PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制_第4页
第4页 / 共30页
PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制》由会员分享,可在线阅读,更多相关《PHP入门培训教程PHP培训教程PHP基础教程25PHP会话控制(30页珍藏版)》请在金锄头文库上搜索。

1、PHP会话控制,主讲: 邮箱:,回 顾,PHP访问MySQL数据库服务器的流程 PHP连接MySQL数据库服务器的函数 PHP判断MySQL错误的函数 PHP选择MySQL数据库的函数 PHP选择MySQL数据库字符集的函数 PHP发送SQL语句的函数 PHP处理结果的一些常用函数 PHP释放结果集,关闭数据库连接的函数,预习检查,会话控制是为了解决什么问题的? 会话控制使用到哪两种技术? 这两种技术的特点分别是什么?,本章任务,1. 为什么使用会话技术 2. 会话跟踪的方式 3. Cookie应用 4. Session应用,1. 为什么使用会话技术?,“HTTP协议”是无状态协议 HTTP协

2、议不能告诉我们多请求是否是来自同一个人 会话控制 会话控制的思想就是允许服务器跟踪同一个客户端做出的连续请求,2. 会话跟踪的方式,HTTP是无状态的协议,所以不能维护两个事物间的状态。但一个用户在请求一个页面以后再请求另一个页面时,需要让服务期知道这是一个用户。总共有3种数据传递方式。 超链接或者header()函数等重定向方式 使用Cookie将用户的信息状态,存放在客户端的计算机中。 使用Session将用户的信息状态,存放在服务器之中。,3 Cookie应用,3.1 Cookie概述 3.2 设置Cookie 3.3 读取Cookie 3.4 数组形态的Cookie应用 3.5 删除C

3、ookie 3.6 基于Cookie的用户登录模块,3.1 Cookie概述,cookie是在http协议下,服务器或脚本可以维护客户端信息的一种方式。 Cookie是一种由服务器发送给客户端的片段信息,存储在客户端浏览器的内存或者硬盘上。常用于保存用户名,密码,个性化设置,个人偏好记录等。当用户访问服务器时,服务器可以设置和访问cookie的信息。 cookie保存在客户端,通常是IE或Firefox浏览器的cookie临时文件夹中,可以手动删除。注意:如果浏览器上cookie太多,超过了系统所允许范围,浏览器也会自动对它进行删除。,3.2 设置Cookie,设置Cookie 语法:bool

4、 setcookie(string name,string value,int expire,string path,string domain,int secure); 本cookie函数可以有6个属性,常用的有3个参数。,/向客户端发送一个Cookie,将变量username值为skygao,保存客户端一周的时间 setcookie(“username“, “skygao“, time()+60*60*24*7);,/使用setCookie()函数的全部参数设置 setcookie(“username“, “skygao“, time()+60*60*24*7, “/test“, ““,

5、1);,setcookie参数解释,3.3 读取Cookie,如果Cookie设置成功,客户端就拥有了Cookie文件,用来保存Web服务器为其设置的用户信息。 在PHP中读取Cookie信息很简单,使用超全局数组$_COOKIEcookie名即可获取cookie中的内容。,?php /输出Cookie中保存的所有用户信息 print_r($_COOKIE);,3.4 Cookie的数组形态应用,数组也可以利用多维数组的形式,将多个内容值存储在相同Cookie名称标识符下。,?php setcookie(“userusername“, “skygao“); /$_COOKIE“user“use

6、rname“ setcookie(“userpassword“, md5(“123456“); /$_COOKIE“user“password“ setcookie(“useremail“, ““);/$_COOKIE“user“email“,/遍历$_COOKIE“user”数组 foreach($_COOKIE“user“ as $key = $value) /输出Cookie数组中二维的键值对 echo $key.“:“.$value.“n“; ,3.5 删除Cookie,有2种方式删除Cookie 1.省略setcookie()函数的所有参数列 2.设置cookie为已过期,?php

7、/只指定Cookie识别名称一个参数,即删除客户端中这个指定名称的Cookie资料 setCookie(“account“); /第一种方法 /设置Cookie 在当前时间过期,因此系统会自动删除识别名称为isLogin的Cookie setCookie(“isLogin“, “ , time()-1); /第二种方法,3.6 基于Cookie的用户登录模块, 用户登录 用户登录 用户名 密码 ,/* 声明一个删除Cookie的函数,调用时清除在客户端设置的所有Cookie */ function clearCookies() setCookie(username, , time()-3600

8、); /删除Cookie中的标识符为username的变量 setCookie(isLogin, , time()-3600); /删除Cookie中的标识符为isLogin的变量 /* 判断用户是否执行的是登录操作 */ if($_GET“action“=“login“) /* 调用时清除在客户端先前设置的所有Cookie */ clearCookies(); /* 检查用户是否为admin,并且密码是否等于123456 */ if($_POST“username“=“admin“ /* 退出时清除在客户端设置的所有Cookie */ , 网站主页面 退出 这里显示网页的主体内容 ,4 Se

9、ssion的应用,4.1 Session概述 4.2 配置Session 4.3 Session的声明与使用 4.4 注册一个会话变量和读取Session 4.5 注销变量与销毁Session 4.6 Session的自动回收机制 4.7 传递Session ID,4.1 Session概述,Session和Cookie相似,都是用来储存使用者的相关资料。但最大的不同之处在于Cookie是将数据存放在客户端的计算机之中,而Session则是将数据存放于服务器系统之下。,会话跟踪,用户A请求,用户B请求,用户N请求,.,服务器将唯一的会话 ID 分配给客户端以跟踪用户,cookie和sessio

10、n在php中的使用区别: cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。 cookie存放在客户端浏览器中, session保存在服务器上。 它们之间的联系是session ID 一般保存在cookie中,或者放在URL上。 禁用cookie的方法: 点击IE中的“工具”“Internet选项”,在弹出的对话框里点击“安全”“自定义级别”项,将“允许每个对话COOKIE”设为禁用.,4.2 配置Session,php.ini文件和Session有关的几个常用配置选项 session.auto_start = 0 ; 在请求启动时初始化session s

11、ession.cache_expire = 180 ; 设置缓存中的会话文档在 n 分钟后过时 session.cookie_lifetime = 0 ; 设置按秒记的cookie的保存时间, 相当于设置Session的过期时间,为0时表示直到浏览器被重启 session.auto_start=1,这样就无需每次使用session之前都要调用session_start()。但启用该选项也有一些限制,如果确实启用了 session.auto_start,则不能将对象放入会话中,因为类定义必须在启动会话之前加载以在会话中重建对象。,session.cookie_path = / ; cookie的

12、有效路径 session.cookie_domain = ; cookie的有效域 session.name = PHPSESSID; 用在cookie里的session的名字 session.save_handler = files ; 用于保存/取回数据的控制方式 session.save_path = /tmp ; 在 save_handler 设为文件时传给控制器的参数, 这是数据文件将保存的路径. session.use_cookies = 1 ; 是否使用cookies,4.3 Session的声明与使用,Session的设置不同于Cookie,必须先启动,在PHP中必须调用ses

13、sion_start()。 session_start()函数的语法格式如下 Bool session_start(void) 注意:session_start()函数之前不能有任何输出 Session以数组的形式使用 如:$_SESSIONsession名,session_start(); /启动Session 的初始化 $_SESSION“username“ = “skygao“; /注册Session 变量,赋值为一用户名称 $_SESSION“uid“ = 1; /注册Session 变量,赋值为一个用户的ID,4.4 注册一个会话变量和读取Session,在PHP中使用Session

14、变量,除了要启动之外,还要经过注册的过程。注册和读取Session变量,都要通过访问$_SESSION数组完成。 在$_SESSION关联数组中的键名具有和PHP中普通变量相同的命名规则。 Session变量会被保存在服务器端的某个文件中,该文件的位置是通过php.ini文件,在session.save_path属性指定的目录下。,4.5 注销变量与销毁Session,1.bool session_destroy(void) 删除服务器端保留session信息的文件 2.unset($_SESSION键名) 删除内存中由Session数组保存的变量 清除所有变量可以使用 $_SESSION=a

15、rray() 3.如果session是基于Cookie的,那么我们还需要删除客户端保留的cookie文件,4.6 Session的自动回收机制,php.ini中相关的配置 session.cookie_lifetime=0; 关闭浏览器相应的cookie文件即被删除 session.gc_maxlifetime;设置过期session时间,默认1440秒(24分钟) session.gc_probability/session.gc_divisor;启动垃圾回收机制的概率(建议值为1/10005000),4.7 传递 Session ID,1.通过Cookie传递Session ID 相当于 setCookie(session_name(),session_id,0,/) 2.通过URL 传递Session ID A、手动在页面中添加 session_name()和session_id() B、自动获取Session ID的方法 1.Linux方式 2.Windows方式,总 结,本章必须掌握的知识点: 会话控制的两种方式 利用Cookie进行页面间值的传递 利用Session进行页面间值的传递 了解Session的回收机制 了解Session ID传递的方法,兄弟连官方网址:http:/,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号