Php本身没有一个完全意义上的页面跳转函数,也许Header函数算一个,但是,它只能用于页面的第一行。如果放在Php页面的最后位置,除非前面的Php没有输出任何字符,否则,会报错。
以下是三种Php自动页面跳转的方法:
一:使用Header函数。
二:使用HTML固有标记。(不仅仅适用于Php,同样适用于ASP,.Net,以及Jsp中)。
三:输出javascript,利用Js代码,达到Php页面自动跳转的目的。(也适用于Php以外的其他语言,不过相应语言代码不同)。
一、用HTTP头信息(Header函数)
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声 明返回信息的类型("Context-type: xxxx/xxxx"),页面的属性("No cache", "Expire")等等。
用HTTP头信息使Php自动跳转到另外一个页面的方法如下:
<?php
$url = index.php
Header("HTTP/1.1 303 See Other");
Header("Location: $url");
exit;
?>
注意一下,"Localtion:"后面有一个空格。
二、利用HTML标记(META中的REFRESH属性)
用HTML标记,就是用META的REFRESH标记,举例如下:
<?php $url = index.php;?>
<HTML>
<HEAD>
<META HTTP-EQUIV="REFRESH" CONTENT="10; URL=<? echo $url;?>>
</HEAD>
<BODY>
</BODY>
</HTML>
注:这里的CONTENT="10 的意思是说10秒以后跳转。
三、用javascript脚本来实现
举例如下:
<?php
$url=index.php;
echo "<!--<SCRIPT LANGUAGE="javascript">";
echo "location.href='$url'";
echo "</SCRIPT>-->";
?>
---------------------------------------------------------------------------------------------------------------
<?
//PHP自带函数
Header("Location: http://www.php.com ");
?>
<?
//利用meta
echo "<meta http-equiv='refresh' content='0; url=http://www.php.com'>";
?>
---------------------------------------------------------------------------------------------------------------
<?
//利用Javascript语言
echo "<script language='javascript'>";
echo "
echo "</script>";
?>
---------------------------------------------------------------------------------------------------------------
注意:使用Header函数时必须网页未产生任何输出,此时尤其要注意空格的问题。即必须放在网页最开始处