您的位置:首页 > 编程语言 > PHP开发

php页面跳转的几种实现方法

2011-11-04 22:59 831 查看
 
php页面自动跳转的几种实现方法:

1.meta标签

2.使用header函数

3.使用JavaScript

 

方法一:使用meta标签

  meta标签是html不可或缺的标签之一,它负责提供文档的元信息,其参数主要有:

  

   ① http-equiv: 与文档中数据相关的HTTP文件首部

          ② content: 与命名HTTP首部相关的数据

          ③ name: 文档描述

          ④ url: 与元信息相联系的URL

  当我们定义属性http-equiv为refresh,打开此Web页时系统将根据content规定的值在一定时间内跳转到相应页面,

        content="秒数;url=网址"就是定义了过多长时间跳转到指定的网址。

        以下meta标签告诉系统一秒钟后页面自动跳转到百度首页:

  

  <meta http-equiv="refresh" content="1;url=http://www.baidu.com">

  

  以上代码需要加在HTTP文档首部中,介于<head>与</head>之间,通常,meta标签是紧跟在<head>之后。若需要有多个meta标签,

        它们可以各占一行。

  

  此法通用于任何环境,包含静态的网站空间。

  

方法二:使用header函数

  header函数是php内置函数中的HTTP相关函数之一,该函数送出HTTP协议标头到浏览器。

       使用它可以重定向URL,即令页面转向其他指定的网页。

        以下例子,执行后将自动打开www.baidu.com

  

  header("Location: http://www.baidu.com");

  

必须注意,header函数只能用在页面代码中的<html>标签之前,亦即,HTTP首部尚未有其他任何标头(<head>)传送给浏览器之前,

 而且,此前页面也不能print或echo任何内容。

换句话说,在页面的<html>出现前,程序只单纯地处理header事件。

尽管有如此严格的要求,灵活地使用它,仍然可以达成页面的自动跳转功能,

比如登录页面,通过判断用户提交的数据是否合法来决定页面跳转到何处。

  以下给出一个简单的例子:

  

  <?php /* 登录程序 - 文件名:login.php 程序作用 - 判断用户登录口令 */

         if($_POST['Submit']) {

                   session_start();

                  if($_POST['pws']=='123') {             //若密码为 123

                                $_SESSION['passwd']='123'; //写入会话数据

                                 header("Location:index.php"); //跳转到正常页面

                 }else{

                                 header("Location:login.php"); //跳转到登录页面 }

                }

               //表单代码略(也可以用纯html代码写表单,若如此,代码应放在程序之后

              ?>

 

             <?php        /* 检测会话数据 - 文件名:index.php 程序作用 - 检测会话数据中的密码是否为123,若不是,返回 登录页面 */

                           session_start();

                          if($_SESSION['passwd']!='123')

                            header("Location:login.php");

                          //其他代码(纯HTML代码应写在程序之后)  

          ?>

  此法显然只能用于支持php的空间环境。

  <?php /* 登录程序 - 文件名:login.php 程序作用 - 判断用户登录口令 */

if($_POST['Submit']) {

session_start();

if($_POST['pws']=='123') {             //若密码为 123

$_SESSION['passwd']='123'; //写入会话数据

header("Location:index.php"); //跳转到正常页面

}else{

header("Location:login.php"); //跳转到登录页面 }

}

//表单代码略(也可以用纯html代码写表单,若如此,代码应放在程序之后

?>

<?php        /* 检测会话数据 - 文件名:index.php 程序作用 - 检测会话数据中的密码是否为123,若不是,返回 登录页面 */

session_start();

if($_SESSION['passwd']!='123')

header("Location:login.php");

//其他代码(纯HTML代码应写在程序之后)

?>


  

  方法三:使用JavaScript

  JS非常灵活,利用它可以做出功能非常强大的程序脚本,这里仅举一个简单的页面自动跳转的JS例子。

                   以下代码执行后浏览器将自动转到www.baidu.com,该代码可放在页面中的任何合法的位置:

  

       <script language="javascript" type="text/javascript"> window.location.href("http://www.baidu.com");
</script>

   此代码适用于任何Web环境。若加入定时器,将更加妙不可言
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息