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 相关文章推荐
php foreach、while性能比较
Oct 15 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
Jan 30 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 PHP
PHP加密解密字符串汇总
Apr 26 PHP
PHP SOCKET编程详解
May 22 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
PHP仿微信多图片预览上传实例代码
Sep 13 PHP
PHP类相关知识点实例总结
Sep 28 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 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
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
利用Python如何生成随机密码
2016/04/20 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
详解Python学习之安装pandas
2019/04/16 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
征求意见函
2015/06/05 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技