PHP服务器页面间跳转

在ASP中,我们可以使用Server.Transfer来实现在服务器端重定向,PHP中虽然没有这样的函数,但是要实现类似的跳转也不难:

(注意不是用 header ,js 等方法做的客户端跳转)

function server_transfer($dest)

{

    global ...; // 把希望在新页面中用到的本页变量或者自定义的全局变量列在这里

    include $dest; // 运行新脚本

    exit; // 退出本脚本

}

注意:

1. 如果跳转之前输出的任何数据都会在新页面中显示,除非使用 ob_start 缓冲,可以在跳转之前清空,这样就互不影响了.

2. 由于新页面在一个自定义的函数作用域内运行,所以本页面定义的变量不会影响到新页面,这点是好处也是坏处.

3. 新页面依然可以用 $_POST 等超全局变量访问到本来属于本页面的变量,编写代码是需要注意.

4. 要考虑到本页面和新页面重复包含的问题,如果两个页面都包含同一个页面,比如页眉页脚,要用 require_once.

总而言之,跳转可以做到,但是程序员要清楚都发生了什么,否则很容易得到一些奇怪的结果.
原文地址:https://www.cnblogs.com/zhwl/p/2618229.html