PHP的简单跳转提示的实现详解


Posted in PHP onMarch 14, 2019

在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 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" rel="external nofollow" >立即跳转</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的简单跳转提示的实现详解

以上所述是小编给大家介绍的PHP的简单跳转提示的实现详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
10条PHP编程习惯助你找工作
Sep 29 PHP
Admin generator, filters and I18n
Oct 06 PHP
php导入导出excel实例
Oct 25 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
PHP使用curl函数发送Post请求的注意事项
Nov 26 PHP
thinkPHP中session()方法用法详解
Dec 08 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 #PHP
PHP模型Model类封装数据库操作示例
Mar 14 #PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 #PHP
PHP7内核之Reference详解
Mar 14 #PHP
掌握PHP垃圾回收机制详解
Mar 13 #PHP
浅谈php的TS和NTS的区别
Mar 13 #PHP
浅谈PHP各环境下的伪静态配置
Mar 13 #PHP
You might like
smarty表格换行实例
2014/12/15 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
PHP反射基础知识回顾
2020/09/10 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
js数组操作学习总结
2013/11/04 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
简单介绍Python中利用生成器实现的并发编程
2015/05/04 Python
Python中标准模块importlib详解
2017/04/16 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
小学生成长感言
2014/01/30 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
捐书活动倡议书
2015/04/27 职场文书
学校社团活动总结
2015/05/07 职场文书
python使用glob检索文件的操作
2021/05/20 Python
Java数据结构之堆(优先队列)
2022/05/20 Java/Android
redis protocol通信协议及使用详解
2022/07/15 Redis
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript