微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

跟随我在oracle学习php36

跳转

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

 

立即跳转

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数据到服务器端。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐