使用 PHP header进行页面跳转中出现的疑惑

  在php中进行页面跳转时,常会用到header(); 而其最常用的两种用法,一是重定向;二是设置页面状态为"404未找到页面"。

  •   header(); 重定向很简单。 通过location:“页面需要跳转到的地址”,即可在打开当前页面时实现页面的跳转。

  如:以下代码实现了,打开当前页面后直接显示php官网页面的效果。

header("location: http://www.php.net"); // 重定向页面
exit;
  •   header(); 设置页面状态404却让新手有些费解。

  具体实现方式:

  

header('HTTP/1.1 404 Not Found'); // 出现找不到网页的提示信息
header("status: 404 Not Found");

  主要费解的原因有一下几点:

  1. 若在一个新建的php文件中,输入以上代码,页面会直接出现404 Not Found 提示。

  2. 然而,当我尝试在这两行代码后面添加一行输出语句后,发现404 Not Found提示消失,输出语句也正常显示。

header('HTTP/1.1 404 Not Found');  
header("status: 404 Not Found");
echo ("hello");

但是打开f12,调出开发者工具后,发现了报错。

  通过在网上搜索,发现原来 header('HTTP/1.1 404 Not Found'); 与 其后面的输出语句并不冲突。(原来以为两者之间会存在冲突,即使用了该语句后,之后的代码就不会被执行。)

  即使在前面使用了header('HTTP/1.1 404 Not Found');后面的php代码仍会被执行。只不过查看台中会有报错提示。

  • 最后,关于使用 header("location:"); 实现重定向页面时,网上提出了以下几点建议:

  1、location和":"号间不能有空格,否则会出错。

  2、在用header前不能有任何的输出,包括空格 (这个我亲自试过了,发现即使加了空格,或者输出语句依然能够实现跳转 对此存在疑问)

  3、header后的PHP代码还会被执行。

 

转载于:https://www.cnblogs.com/AimeeCodeWorld/p/6867763.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值