跟随我在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)的主要内容,如果未能解决你的问题,请参考以下文章