php页面自动跳转的几种实现方法:
2.使用header函数
3.使用javascript
① http-equiv: 与文档中数据相关的http文件首部
② content: 与命名http首部相关的数据
③ name: 文档描述
④ url: 与元信息相联系的url
当我们定义属性http-equiv为refresh,打开此web页时系统将根据content规定的值在一定时间内跳转到相应页面,
content=秒数;url=网址就是定义了过多长时间跳转到指定的网址。
它们可以各占一行。
此法通用于任何环境,包含静态的网站空间。
方法二:使用header函数
header函数是php内置函数中的http相关函数之一,该函数送出http协议标头到浏览器。
使用它可以重定向url,即令页面转向其他指定的网页。
以下例子,执行后将自动打开www.baidu.com:
header(location: http://www.baidu.com);
而且,此前页面也不能print或echo任何内容。
换句话说,在页面的出现前,程序只单纯地处理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环境。若加入定时器,将更加妙不可言
