php的header和asp中的redirect比较

asp中实现重定向是用response.redirect 函数:
用法一例:
response.redirect "../test.asp"
php中也有类似函数:header
用法一例:
header("location:../test.php");
但是两者是有区别的.
asp的redirect函数可以在向客户发送头文件后起作用.

1<html><head></head><body>   

response.redirect "../test.asp"

1</body></html>

查是php中下例代码会报错:

1<html><head></head><body>
2<?   
3header("location:../test.php");   
4?>
5</body></html>

只能这样:

1<html><head></head><body>...</body></html>

即header函数之前不能向客户发送任何数据.

再看下面一例:
asp中

1<html><head></head><body>   

response.redirect "../a.asp"
response.redirect "../b.asp"

1</body></html>

结果是重定向a.asp文件.
php呢?

1<html><head></head><body></body></html>

我们发现它重定向b.php.
原来在asp中执行redirect后不会再执行后面的代码.
而php在执行header后,继续执行下面的代码.
在这方面上php中的header重定向不如asp中的重定向.有时我们要重定向后,不能执行后面的代码:
一般地我们用
if(...)
header("...");
else
{
...
}
但是我们可以简单的用下面的方法:
if(...)
{ header("...");break;}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus