跟随我在oracle学习php(36)

Posted rightgram

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟随我在oracle学习php(36)相关的知识,希望对你有一定的参考价值。

跳转

业务逻辑:立即跳转,提示跳转

 

立即跳转

Header(‘Location: URL’);

php(服务器)向浏览器发送一条指令Location,告知浏览器,应该重定向的URL

 

Header(‘Content-Type: ‘);

Header();就是PHP向浏览器发送指令(响应头信息),指令有多种

 

 

 

原理

 

 

通过监视请求可以看到,共两次请求:302就是重定向

 

 

 

语法

Header()函数前不能存在任何的输出内容

 

Tip:使用输出缓存output_buffering可以处理。Php.ini

 

Header()函数后边的代码也会照常执行

 

 

因此,跳转后要立即终止当前脚本的执行,才符合常规的跳转逻辑!

 

 

提示跳转

 

Header(‘Refresh: TIME; URL=目标URL’);

 

Refresh这个响应指令,是在N秒后,刷新到指定的目标URL上。

 

此时,会在当前URL请求上停留三秒。通过显示输出完成提示后跳转。

 

 

由于就是一个普通的页面展示,提示的样式,可以轻松定制!

 

 

语法

Header()后的代码会执行因此在处理好跳转相关操作后,脚本也应该被DIE掉!

 

 

浏览器登录验证分析

访问到后台首页(后台所有功能)时,应该先判断当前浏览器是否处于登录状态,再做功能的实现!如果没有登录,则跳转到登录页面

 

如何判断当前浏览器用户是否登录

 

管理员合法 –> 处于登录状态

登录标志:

一个数据。

如何存储这个数据呢

[不合理]测试:

变量行不行

总结不行,原因是:

数据生命周期问题,对于PHP来说,所有数据变量,常量)的最大生命周期,一个脚本周期(浏览器向服务器发出一次请求,服务器将该请求交由PHP处理PHP处理完了给服务器,服务器响应给浏览器就是一个脚本周期

 

可见:登录标志的存储,需要可以跨脚本周期存储数据一种形式(持久性存储数据机制)

 

文件:行不行

不行,原因是:

服务器端管理的文件(数据库中)是不区分浏览器端,对于任何一个浏览器都是通用的!

 

可见:登录标志的存储,需要可以区分浏览器,并在该浏览器的多次请求周期内,可以持久存储的一种数据存储机制!

 

以上的存储机制就是会话技术

 

 

会话技术

可以使 同一台浏览器与服务器的多次请求间,将数据持久存储的一种技术!

前提B/S请求响应模式,是 无状态的。任意的请求间,不存在任何的联系不能将请求状态保持下去。

 

会话技术的实现:

1、Cookie 2、Session

 

COOKIE

基本原理

允许服务器端脚本在浏览器端存储数据一种技术。可以见cookie是浏览器的技术)

数据只存在客户端,浏览器可以存,存什么是服务器说的

其特点

允许服务器向浏览器发送指令,用来管理存储在浏览器端的cookie数据。

浏览器如果存储了某台服务器所设置的cookie数据,浏览器向服务器请求时,会携带存储的cookie数据到服务器端。

 

以上是关于跟随我在oracle学习php(36)的主要内容,如果未能解决你的问题,请参考以下文章

跟随我在oracle学习php(31)

跟随我在oracle学习php(35)

跟随我在oracle学习php(33)

跟随我在oracle学习php(56)

跟随我在oracle学习php(37)

跟随我在oracle学习php(39)