header("Location:")应该注意的几个问题
2009-10-16 14:00
393 查看
header("Location:blog.my400800.cn
")
作为php的转向语句
。其实在使用中,他有几点需要注意的地方。
1、要求header前没有任何输出
但是很多时候在header前我们已经输出了好多东西了,但是此时如果再次header的话,显然是出错的,在这里我们启用了一个ob的概念,这个东东的意思是在服务器端先存储有关输出,等待适当的时机再输出,而不是像现在这样运行一句,输出一句,发现header语句就只能报错了。
具体的语句有: ob_start();
ob_end_clean();ob_flush();.........
2、在header("Location:www.my400800.cn")后要及时exit
否则他是会继续执行的,虽然在浏览器端你看不到相应的数据出现,但是如果你进行抓包分析的话,你就会看到下面的语句也是在执行的。而且被输送到了浏览器客户端,只不过是没有被浏览器执行为html而已(浏览器执行了header进行了转向操作)。
所以,标准的使用方法是
:
ob_start();
........
if ( something ){
ob_end_clean();
header("Location:www.my400800.cn ");
exit;
else{
..........
ob_flush(); //可省略
")
作为php的转向语句
。其实在使用中,他有几点需要注意的地方。
1、要求header前没有任何输出
但是很多时候在header前我们已经输出了好多东西了,但是此时如果再次header的话,显然是出错的,在这里我们启用了一个ob的概念,这个东东的意思是在服务器端先存储有关输出,等待适当的时机再输出,而不是像现在这样运行一句,输出一句,发现header语句就只能报错了。
具体的语句有: ob_start();
ob_end_clean();ob_flush();.........
2、在header("Location:www.my400800.cn")后要及时exit
否则他是会继续执行的,虽然在浏览器端你看不到相应的数据出现,但是如果你进行抓包分析的话,你就会看到下面的语句也是在执行的。而且被输送到了浏览器客户端,只不过是没有被浏览器执行为html而已(浏览器执行了header进行了转向操作)。
所以,标准的使用方法是
:
ob_start();
........
if ( something ){
ob_end_clean();
header("Location:www.my400800.cn ");
exit;
else{
..........
ob_flush(); //可省略
相关文章推荐
- header("Location:login.php")应该注意的几个问题
- header("Location:login.php")应该注意的几个问题
- header("Location:")应该注意的几个问题
- PHP中用header("Location: test.php")进行跳转时应注意的问题
- iOS视图加阴影应该注意的几个问题
- eXosip2开发过程中应该注意的几个问题
- Java和jsp编程中应该注意的几个常见问题
- 个人认为软件开发工程师应该注意的几个问题
- 程序员面试应该注意的几个问题.
- header("location:test.php")跳转成功需要注意的
- ASP.net:Regex.Match 方法 中应该注意的几个问题
- 程序员在开发过程中应该注意的几个问题[转载]
- 谈谈报表开发应该注意的几个问题——part 2
- C++老手也要注意的几个"小"问题
- opencv应该注意的几个问题
- Java和jsp编程中应该注意的几个常见问题
- jdbc中preparestatement操作数据库几个应该注意的问题
- PHP Header用于页面跳转要注意的几个问题总结
- 搞IT的朋友应该注意的几个问题