视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php实现提示跳转的方法是什么
2020-11-27 14:00:23 责编:小采
文档


在PHP开发中,尤其是MVC框架或者项目中,会碰到很多跳转情况,比如:登录成功或失败后的跳转等等。

(学习视频推荐:java课程)

以下以MVC框架开发中为基础,示例讲解:

在基础控制器类:Conrtoller.class.php

<?php

/**
 * 基础控制器类
 */
class Controller {
 /**
 * 跳转
 * $url 目标url
 * $info 提示信息
 * $time 等待时间(单位秒)
 */
 protected function jump($url,$info=NULL,$time=3) {
 //判断是立即跳转还是刷新跳转
 if(is_null($info)) {
 //立即跳转
 header('location:'. $url);
 die;
 } else {
 //刷新跳转,给出提示
 echo <<<TIAOZHUAN
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>提示信息</title>
<style type='text/css'>
 * {margin:0; padding:0;}
 div {width:390px; height:287px; border:1px #09C solid; position:absolute; left:50%; margin-left:-195px; top:10%;}
 div h2 {width:100%; height:30px; line-height:30px; background-color:#09C; font-size:14px; color:#FFF; text-indent:10px;}
 div p {height:120px; line-height:120px; text-align:center;}
 div p strong {font-size:26px;}
</style>
<div>
 <h2>提示信息</h2>
 <p>
 <strong>$info</strong><br />
 页面在<span id="second">$time</span>秒后会自动跳转,或点击<a id="tiao" href="$url">立即跳转</a>
 </p>
</div>
<script type="text/javascript">
 var url = document.getElementById('tiao').href;
 function daoshu(){
 var scd = document.getElementById('second');
 var time = --scd.innerHTML;
 if(time<=0){
 window.location.href = url;
 clearInterval(mytime);
 }
 }
 var mytime = setInterval("daoshu()",1000);
</script>
TIAOZHUAN;
 die;
 }
 }

}

在MVC的自动加载中,将Controller.class.php进行自动加载注册

通过不同控制器类继承上面的Controller.class.php基础控制器类后,就可以调用定义的跳转提示。

<?php

/**
 * 后台管理员控制器(登录、注销、管理员的增删改查等)
 */
class AdminController extends Controller {
 /**
 * 展示登录表单动作
 */
 public function loginAction() {
 // 载入当前的视图文件
 $this->display('login.html');
 }
 /**
 * 后台注销功能
 */
 public function logoutAction() {
 @session_start();
 // 删除相关会话数据
 unset($_SESSION['adminInfo']);
 // 删除会话数据区
 session_destroy();
 // 立即跳转到登录页面
 $this->jump('index.php?c=Admin&a=login','您已退出后台登录!');
 }
}

当然,这里是在MVC中实现的,你也可以把jump()单独提出来进行使用。

附上一个效果图:

下载本文
显示全文
专题