PHP 服务器页面间跳转实现方法
在
ASP 中,我们可以使用 Server.Transfer 来实现在服务器端重定向,PHP 中虽然没有这样的函
数
,但是要实现类似的跳转也不难
(注意不是用 header ,js 等方法做的客户端跳转)
代码如下
:
function
server_transfer(
$dest
)
{
global
...;
// 把希望在新页面中用到的本页变量或者自定义的全局变量列在这里
include
$dest
;
// 运行新脚本
exit
;
// 退出本脚本
}
注意
:
1. 如果跳转之前输出的任何数据都会在新页面中显示,除非使用 ob_start 缓冲,可以在跳转之
前清空
,这样就互不影响了.
2. 由于新页面在一个自定义的函数作用域内运行,所以本页面定义的变量不会影响到新页面,
这点是好处也是坏处
.
3. 新页面依然可以用
$_POST
等超全局变量访问到本来属于本页面的变量,编写代码是需要
注意
.
4. 要考虑到本页面和新页面重复包含的问题,如果两个页面都包含同一个页面,比如页眉页脚,
要用
require_once
.
总而言之
,跳转可以做到,但是程序员要清楚都发生了什么,否则很容易得到一些奇怪的结果.