六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 36|回复: 0

PHP服务器页面间跳转

[复制链接]

升级  69.5%

788

主题

788

主题

788

主题

探花

Rank: 6Rank: 6

积分
2390
 楼主| 发表于 2013-1-1 22:15:44 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body"><div id="article_content" class="article_content">在ASP中,我们可以使用Server.Transfer来实现在服务器端重定向,PHP中虽然没有这样的函数,但是要实现类似的跳转也不难:
(注意不是用 header ,js 等方法做的客户端跳转)

function server_transfer($dest)
{
    global ...; // 把希望在新页面中用到的本页变量或者自定义的全局变量列在这里
    include $dest; // 运行新脚本
    exit; // 退出本脚本
}

注意:
1. 如果跳转之前输出的任何数据都会在新页面中显示,除非使用 ob_start 缓冲,可以在跳转之前清空,这样就互不影响了.
2. 由于新页面在一个自定义的函数作用域内运行,所以本页面定义的变量不会影响到新页面,这点是好处也是坏处.
3. 新页面依然可以用 $_POST 等超全局变量访问到本来属于本页面的变量,编写代码是需要注意.
4. 要考虑到本页面和新页面重复包含的问题,如果两个页面都包含同一个页面,比如页眉页脚,要用 require_once.

总而言之,跳转可以做到,但是程序员要清楚都发生了什么,否则很容易得到一些奇怪的结果.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表