利用PHP的header()函数,可以实现页面跳转,如

1header("Location: ".$url);

但它有个缺点,一旦HTTP报头块已经发送,就不能使用 header() 函数,来发送其它的标头。

这个时候只能利用前端HTML或JS技术来实现页面跳转了!

怎样知道HTTP报头块已经发送了呢?

PHP的 headers_sent() 函数,可以帮忙。

PHP headers_sent() 函数

headers_sent() 函数检查 HTTP 标头是否已被发送以及在哪里被发送。

如果报头已发送,则返回 true,否则返回 false。

语法headers_sent(file,line)参数描述

file,line可选。

如果设置 file 和 line 参数,headers_sent() 会把输出开始的 PHP 源文件名和行号存入 file 和 line 变量中。

提示和注释

注释:一旦报头块已经发送,就不能使用 header() 函数 来发送其它的标头。使用此函数至少可以避免与 HTTP 标头有关的错误信息。

注释:可选的 file 和 line 参数是 PHP 4.3 中新加的。

例子1

1

2// 如果报头未发送,则发送一个

3if(!headers_sent()) {

4header("Location: http://www.w3school.com.cn/");

5exit;

6}

7?>

例子2

使用可选的 file 和 line 参数:

01

02// 传递 $file 和 $line,供日后使用

03// 不要预先为它们赋值

04if(!headers_sent($file,$line)) {

05header("Location: http://www.w3school.com.cn/");

06exit;

07// Trigger an error here

08}else{

09echo"Headers sent in $file on line $line";

10exit;

11}

12?>

根据上面的知识点,我们可以整理出自己的PHP跳转函数:

01/**

02* URL跳转

03* @param string $url 跳转地址

04* @param int $time 跳转延时(单位:秒)

05* @param string $msg 提示语

06*/

07functionredirect($url,$time= 0,$msg='') {

08$url=str_replace(array("\n","\r"),'',$url);// 多行URL地址支持

09if(empty($msg)) {

10$msg="系统将在 {$time}秒 之后自动跳转到 {$url} !";

11}

12if(headers_sent()) {

13$str=";

14if($time!= 0) {

15$str.=$msg;

16}

17exit($str);

18}else{

19if(0 ===$time) {

20header("Location: ".$url);

21}else{

22header("Content-type: text/html; charset=utf-8");

23header("refresh:{$time};url={$url}");

24echo($msg);

25}

26exit();

27}28}

以上就介绍了php重定向网页,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php重定向网页,php重定向网页相关推荐

  1. 网页301重定向检测工具(网页HTTP状态代码检测)

    301重定向是在搜索引擎优化中一个很常用的操作,可以帮助我们转移域名的权重.但是在做301重定向的时候由于服务器系统.网站程序语言.域名和链接地址的不同,使用的方法也不同.这个时候我们就要使用301重 ...

  2. java重定向url_Java根据新的URL 对网页进行重定向

    时间:2019-01-24 概述:重定向 Java根据新的URL 对网页进行重定向,当我们将网页的链接改变后,我们希望打开一个链接后能自动转到这个新的连接.本例通过编程实现了打开一个网页根据网页中提供 ...

  3. iptables网页劫持重定向

    iptables -t nat -A PREROUTING -d 192.168.10.243 -p tcp -m tcp --dport 80 -j DNAT --to-destination 18 ...

  4. 如何重定向到另一个网页? [英]How do I redirect to another webpage?

    How can I redirect the user from one page to another using jQuery or pure JavaScript? 如何使用jQuery或纯Ja ...

  5. Google “此网页包含重定向循环”的解决方案

    用google.cn 或者google.com.hk进行搜索时,产生"此网页包含重定向循环"这样的错误.在chrome,safari浏览器都一样.可能是受到GFW的干扰,googl ...

  6. php 此网页包含重定向循环,某网址此网页包含重定向循环的解决方法

    有些用户在访问某些网站的时候,会被提示,"此网页包含重定向循环",然后不管怎么刷新都没办法解决问题.其实吧,网页产生了过多的重定向.清除此网站的 Cookie 或允许第三方 Coo ...

  7. php 此网页包含重定向循环,打开浏览器网页提示此网页包含重定向循环解决方法...

    我们平常会使用浏览器来浏览一些网页,在使用过程中难免会遇到这样或那样的棘手问题.最近有用户在使用第三方浏览器时打开网页浏览器提示:此网页包含重定向循环,生成了过多的重定向.清除此网站的 Cookie ...

  8. 此网页包含重定向循环

    此网页包含重定向循环 的网页生成了 过多的重定向.清除此网站的 Cookie 或允许第三方Cookie 可能会解决该问题.如果 不能解决,可能是服务器配置有问题,而不是您的 计算机有问题. 解决方法: ...

  9. 一例ASP.net 网站‘此网页包含重定向循环’解决方法

    今天遇到一个奇怪问题: 某网站,使用VS自带的ASP.NET Development server启动没有问题.但是用IIS Express启动以后无法访问. 使用IE查看网站查不出什么问题,使用ch ...

  10. Nginx控制域名301跳转出现此网页包含重定向循环

    我需要将网站域名永久301重定向,当用户访问 tqcto.com 的时候,301到 www.tqcto.com ,参考了很多配置资料,都出现了"此网页包含重定向循环"的问题,在尝试 ...

最新文章

  1. 构造方法与重载:定义一个网络用户类,信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入
  2. Linux小细节-1
  3. [GXOI/GZOI2019]旧词——树链剖分+线段树
  4. 自定义类加载器(ClassLoader + URLClassLoader)
  5. 九阴真经战无不胜服务器位置,九阴真经各门派武功风水宝地分类及坐标大全
  6. 华为的数字化转型与数据治理
  7. 红尘EMLOG技术导航分类网主题模板
  8. 有时便去寻找思维以外的精神
  9. 拆分工作簿为多个文件_如何批将Excel的多个Sheet工作表拆分为独立的工作簿?...
  10. 【汇编语言】通用数据处理指令——数据传送类指令
  11. 第三章 网络体系结构作业
  12. [tips]ubuntu 12.04系统黑屏
  13. Arduino与Proteus仿真实例-74LS138译码器驱动仿真
  14. 独立站运营成败,7个细节不可忽视
  15. 职场动物进化手册-读后感
  16. MySQL 数据库命名规范.PDF
  17. 【计算机网络】Web服务器的配置
  18. 列车停站方案_城市轨道交通列车停站方案
  19. publish over ssh、 Kubernetes Continuous Deploy插件
  20. P2973 [USACO10HOL]赶小猪

热门文章

  1. word、excel、ppt转pdf
  2. iOS开发系列课程(08) --- 事件处理详解和手势操作
  3. 西安尚学堂大数据方向面试题目
  4. java中字符类型_Java字符类型(详解)
  5. 【CodeSmith】The System.Data.SQLite library is not installed on this computer,不能使用SQLite解决办法
  6. codesmith php模板,CodeSmith 基本语法-CodeTemplate 指令
  7. unity3d粒子效果--羽毛的飞溅
  8. SQL server连接查询
  9. bitmap大小以及压缩的常用三种方法
  10. 2018年湖北省大学程序设计竞赛 D. Who killed Cock Robin(树形DP)