PHP 页面跳转

header() 函数实现 PHP 页面跳转

header() 函数是 PHP 中进行页面跳转的一种十分简单的方法。header() 函数的主要功能是将 HTTP 协议标头 header 输出到浏览器。

					
/*
 *            bool replac: 可选参数 replace 指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。
 * int http_response_code: 可选参数 http_response_code 强制将 HTTP 相应代码设为指定值。 
 */
void header (string string [,bool replace [,int http_response_code]])
					
				

header 函数中 Location 类型的标头是一种特殊的 header 调用,常用来实现页面跳转。

					
<?php
  //重定向浏览器
  header("Location: http://www.whlearn.com/vip.php");
  //确保重定向后,后续代码不会被执行。
  exit;
 ?>
					
				

注意:

meta 标签实现 PHP 页面跳转

meta 标签是 HTML 中负责提供文档元信息的标签,在 PHP 程序中使用该标签,也可以实现页面跳转。若定义 http-equiv 为 refresh,则打开该页面时将根据 content 规定的值在一定时间内跳转到相应页面。

					
<?php  
  $url = "http://www.whlearn.com/vip.php" ;  
 ?> 
  <html>   
    <head>   
    <meta http-equiv = "refresh" content ="1; url = <?php echo $url; ?>">   
    </head>   
    <body>   
    页面只停留一秒……  
    </body > 
  </html>
					
				

JavaScript 实现 PHP 页面跳转

					
<?php 
  $url = "http://www.whlearn.com/vip.php" ; 
  echo "<script language = 'javascript' type = 'text/javascript'>"; 
  echo "window.location.href = '$url' "; 
  echo "</script>"; 
 ?>
					
				

PHP 页面禁止直接访问/只允许指定来路访问

处于安全考虑,禁止直接打开某个 PHP 页面、PHP 可执行程序,要求直接访问会出错,只能从指定的网址进行跳转。比如表单处理程序页面,只能通过 form 表单页面提交数据之后跳转到指定页面,如果未提交表单直接访问该页面将会自动转向表单页面。实现方式只要在禁止直接访问的 PHP 页面头部加一段以下代码即可:

					
<?php
  $fromurl = "http://www.whlearn.com/login.php";    //定义一个来路网址
  if( $_SERVER['HTTP_REFERER'] != $fromurl ) {      //如果来路网址不是这个(referer 引用)
    header("Location:".$fromurl);                   //执行跳转到这个网址
  exit;                                             //结束
}?>
					
				

注意:来路网址的书写一定要正确,不确定可查看 开发者工具。

					
/*
 * 注意这里是:Navigated to http://whlearn.com/
 * 所以来路网址应该填写:http://whlearn.com/
 */

<?php
  $fromurl = "http://www.whlearn.com/";             //定义一个来路网址
  if( $_SERVER['HTTP_REFERER'] != $fromurl ) {      //如果来路网址不是这个(referer 引用)
    header("Location:".$fromurl);                   //执行跳转到这个网址
  exit;                                             //结束
}?>
					
				

注意:刷新当前页面,并不会把当前页面网址记为来路网址。