1、 Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。

在Cookie文件夹下,每个Cookie文件都是一个简单而又普通的文本文件,而不是程序。

2、PHP中通过setcookie() 函数创建Cookie。通过超级全局数组$_COOKIE[]来读取浏览器端的Cookie值。使用isset()函数检测Cookie文件是否存在。

[setcookie()函数定义一个和其余HTTP头一起发送的Cookie,它必须最先输出,在任何脚本输出之前包括<html>和<head>标签。

如果在setcookie()函数之前有任何的输出,那么setcookie就会失败并返回false。因此本程序不能添加标题,否则程序出错。]

PHP笔记07-Cookie和Session

3、Session是指一个终端用户与交互系统进行通信的时间间隔,通常是指从注册进入系统到注销退出系统所经过的时间。

因此,Session实际上是一个特定的时间概念。Session是存储在服务器端的会话,相对安全。

4、Session的功能:(1)电子商务网站中,通过Session记录用户登录的信息,以及用户所购买的商品,如果没有Session,

那么用户每进入一个页面都需要登录一次。(2)Session会话适用于存储信息量比较少并且对存储内容不需要长期存储的情况。

5、创建会话的步骤:启动会话 —> 注册会话 —> 使用会话 —> 删除会话。

6、启动PHP会话的方式两种:session_start() 函数(使用该函数之前浏览器不能有任何输出) 和 session_register()函数。

7、session_register() 函数用来为会话登录一个变量来隐含地启动会话,但要设置php.ini中将register_globals指令设为on。

8、关于注册会话、使用会话、删除会话见下面:

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

9、客户端没有禁止Cookie的情况下,设置Session失效时间:setcookie()函数:

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

10、通过Session判断用户的操作权限,详见案例008.

 

【Session高级应用】

1、使用session_save_path() 函数存储Session临时文件,可缓解因临时文件的存储导致服务器效率降低和站点打开缓慢的问题。该函数应在session_start()函数之前调用。

2、Session缓存是将网页中的内容临时存储到IE客户端的Temporary Internet Files 文件夹下。Session缓存的完成使用session_cache_limiter()函数

缓存时间的设置,使用session_cache_expire() 函数。这两个函数在session_start()函数之前调用。

PHP笔记07-Cookie和Session

3、Session数据库存储:session_set_save_handler() 函数。

PHP笔记07-Cookie和Session

 

1.使用session_start()函数创建会话(session)。使用$_SESSION[]来存储和取回session中的变量。使用session_unset()函数释放指定的session变量,并不完全删除会话。使用session_destroy()函数完全删除当前会话。

PHP笔记07-Cookie和Session

 

2.Session中的存取对象与应用数组:(代码文件夹7.1)

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

3.Session数据存储在数据库的实现方式:

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

(代码文件夹7.2)运行结果:

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

 5.Cookie的创建和删除:(代码7.4-cookie.php)

PHP笔记07-Cookie和Session

 6.检测浏览器是否支持Cookie(7.5-checkCookie.php)

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

 7.项目实战 (代码文件夹7.6 使用Session实现购物车)

PHP笔记07-Cookie和Session

 

【Cookie详解】

[4.7.1-Cookie的基本概念及设置]

1. Cookie是存储在客户端上的一小段数据。

2. setcookie()setrawcookie()

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Sessions

PHP笔记07-Cookie和Session

 

[4.7.2-PHPJavaScriptCookie的操作]

1. Cookie 是HTTP头的一部分,因此setcookie() 等函数必需在其输出数据之前调用,和header()函数是相同的。

2.如果出现下面的错误:可以通过修改php.ini ,将 output_buffering 的值改为 on 或者任何数字,默认是4096.

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

 

[代码]PHP设置Cookie,并用JS读取

PHP笔记07-Cookie和Session

 

[4.7.3-Cookie存储机制及应用]

PHP笔记07-Cookie和Session

 

[4.7.4-Cookie跨域与P3P协议]

1.单点登录,Cookie的跨域,使用P3P协议。

PHP笔记07-Cookie和Session

(后面有个具体的案例,就是两个域名公用同样的Cookie,用到的时候再去看)

 

[4.7.5-本地存储localStorage]

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Sessions

 

【Session详解】

[4.8.1-Session的基本概念及设置]

PHP笔记07-Cookie和Session

 

[4.8.2-Session的工作原理]

PHP笔记07-Cookie和Session

 

[代码] sessionID的传递方式(禁止浏览器的Cookie的情况下)

PHP笔记07-Cookie和Session

 

[4.8.3-Session入库]

PHP笔记07-Cookie和Session

 

[代码]新建Session数据表

[代码]Session的MySQL实现

[代码]Session类的使用

(以上三段代码较长,用到再去PDF查看)

 

[4.8.4-CookieSession问答]

PHP笔记07-Cookie和Session

PHP笔记07-Cookie和Session

 

【代码】https://github.com/rxbook/study-php/tree/master/code07

相关文章: