这篇文章将为大家详细讲解有关php如何实现提示跳转,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
php实现提示跳转的方法是:首先在MVC的自动加载中,将基础控制器类进行自动加载注册;然后通过不同控制器类继承基础控制器类;最后调用定义的跳转提示即可。
在PHP开发中,尤其是MVC框架或者项目中,会碰到很多跳转情况,比如:登录成功或失败后的跳转等等。
以下以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 h3 {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>
<h3>提示信息</h3>
<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()单独提出来进行使用。
附上一个效果图:
关于php如何实现提示跳转就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。