PHP Header用于页面跳转要注意的几个问题总结

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
  1. 在PHP中用header("location:test.php")进行跳转要注意以下几点,有助于解决一些新手经常遇到的问题 
  2. 1、location和“:”号间不能有空格,否则会出错。 
  3. 2、在用header前不能有任何的输出。 
  4. 3、header后的PHP代码还会被执行。 
  5. 下面是和asp中重定向response.redirect的比较: 
  6. 例1: 
  7. response.redirect "../test.asp" 
  8. header("location:../test.php"); 
  9. 两者区别: 
  10. asp的redirect函数可以在向客户发送头文件后起作用. 
  11. 如 
  12. <html><head></head><body> 
  13. <%response.redirect "../test.asp"%> 
  14. </body></html> 
  15. 查是php中下例代码会报错: 
  16. <html><head></head><body> 
  17. <? 
  18. header("location:../test.php"); 
  19. ?> 
  20. </body></html> 
  21. 只能这样: 
  22. <? 
  23. header("location:../test.php"); 
  24. ?> 
  25. <html><head></head><body>...</body></html> 
  26. 即header函数之前不能向客户发送任何数据. 
  27. 例2: 
  28. asp中 
  29. <html><head></head><body> 
  30. <% 
  31. response.redirect "../a.asp" 
  32. response.redirect "../b.asp" 
  33. %> 
  34. </body></html> 
  35. 结果是重定向a.asp文件. 
  36. php呢? 
  37. <? 
  38. header("location:../a.php"); 
  39. header("location:../b.php"); 
  40. ?> 
  41. <html><head></head><body></body></html> 
  42. 我们发现它重定向b.php. 
  43. 原来在asp中执行redirect后不会再执行后面的代码. 
  44. 而php在执行header后,继续执行下面的代码. 
  45. 在这方面上php中的header重定向不如asp中的重定向.有时我们要重定向后,不能执行后面的代码: 
  46. 一般地我们用 
  47. if(...) 
  48. header("..."); 
  49. else 
  50. ... 
  51. 但是我们可以简单的用下面的方法: 
  52. if(...) 
  53. { header("...");exit();} 
  54. 还要注意的是,如果是用Unicode(UTF-8)编码时也会出现问题,需要调整缓存设置. 
  55. <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 
  56. <%if Request.ServerVariables("SERVER_NAME")="s.jb51.net" then 
  57. response.redirect "news/index.htm" 
  58. else%> 
  59. <%end if%> 
  60. <script> 
  61. var url = location.href; 
  62. if(url.indexOf('http://www.jb51.net/')!=-1)location.href='/index/index.htm'
  63. if(url.indexOf('http://www.kanshule.com/')!=-1)location.href='/index1/index.htm'
  64. if(url.indexOf('http://www.shouji17.com/')!=-1)location.href='/cn/index.asp'
  65. if(url.indexOf('http://www.baidu.com/')!=-1)location.href='/cn/index.asp'
  66. </script> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值