当前位置:首页 > PHP教程 > php应用 > 列表

基于PHP的跳转提示框的实现示例

发布:smiling 来源: PHP粉丝网  添加日期:2020-02-25 20:07:32 浏览: 评论:0 

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

本篇文章的主要内容是基于PHP的跳转提示框的实现过程,附上代码,有需要的朋友可以参考一下。

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

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

  1. <?php 
  2.  
  3.   
  4.  
  5. /** 
  6.  
  7.  * 基础控制器类 
  8.  
  9.  */ 
  10.  
  11. class Controller { 
  12.  
  13.     /** 
  14.  
  15.      * 跳转 
  16.  
  17.      * $url 目标url 
  18.  
  19.      * $info 提示信息 
  20.  
  21.      * $time 等待时间(单位秒) 
  22.  
  23.      */ 
  24.  
  25.     protected function jump($url,$info=NULL,$time=3) { 
  26.  
  27.         //判断是立即跳转还是刷新跳转 
  28.  
  29.         if(is_null($info)) { 
  30.  
  31.             //立即跳转 
  32.  
  33.             header('location:'$url); 
  34.  
  35.             die
  36.  
  37.         } else { 
  38.  
  39.             //刷新跳转,给出提示 
  40.  
  41.             echo <<<TIAOZHUAN 
  42.  
  43. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  44.  
  45. <title>提示信息</title> 
  46.  
  47. <style type='text/css'
  48.  
  49.     * {margin:0; padding:0;} 
  50.  
  51.     div {width:390px; height:287px; border:1px #09C solid; position:absolute; left:50%; margin-left:-195px; top:10%;} 
  52.  
  53.     div h2 {width:100%; height:30px; line-height:30px; background-color:#09C; font-size:14px; color:#FFF; text-indent:10px;} 
  54.  
  55.     div p {height:120px; line-height:120px; text-align:center;} 
  56.  
  57.     div p strong {font-size:26px;} 
  58.  
  59. </style> 
  60.  
  61. <div> 
  62.  
  63.     <h2>提示信息</h2> 
  64.  
  65.     <p> 
  66.  
  67.         <strong>$info</strong><br /> 
  68.  
  69.         页面在<span id="second">$time</span>秒后会自动跳转,或点击<a id="tiao" href="$url">立即跳转</a> 
  70.  
  71.     </p> 
  72.  
  73. </div> 
  74.  
  75. <script type="text/javascript"
  76.  
  77.     var url = document.getElementById('tiao').href; 
  78.  
  79.     function daoshu(){ 
  80.  
  81.         var scd = document.getElementById('second'); 
  82.  
  83.         var time = --scd.innerHTML; 
  84.  
  85.         if(time<=0){ 
  86.  
  87.             window.location.href = url; 
  88.  
  89.             clearInterval(mytime); 
  90.  
  91.         } 
  92.  
  93.     } 
  94.  
  95.     var mytime = setInterval("daoshu()",1000); 
  96.  
  97. </script> 
  98.  
  99. TIAOZHUAN; 
  100.  
  101.         die
  102.  
  103.         } 
  104.  
  105.     } 
  106.  
  107.   
  108.  

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

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

  1. <?php 
  2.  
  3.   
  4.  
  5. /** 
  6.  
  7.  * 后台管理员控制器(登录、注销、管理员的增删改查等) 
  8.  
  9.  */ 
  10.  
  11. class AdminController extends Controller { 
  12.  
  13.     /** 
  14.  
  15.      * 展示登录表单动作 
  16.  
  17.      */ 
  18.  
  19.     public function loginAction() { 
  20.  
  21.         // 载入当前的视图文件 
  22.  
  23.         $this->display('login.html'); 
  24.  
  25.     } 
  26.  
  27.     /** 
  28.  
  29.      * 后台注销功能 
  30.  
  31.      */ 
  32.  
  33.     public function logoutAction() { 
  34.  
  35.         @session_start(); 
  36.  
  37.         // 删除相关会话数据 
  38.  
  39.         unset($_SESSION['adminInfo']); 
  40.  
  41.         // 删除会话数据区 
  42.  
  43.         session_destroy(); 
  44.  
  45.         // 立即跳转到登录页面 
  46.  
  47.         $this->jump('index.php?c=Admin&a=login','您已退出后台登录!'); 
  48.  
  49.     } 
  50.  

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

Tags: PHP跳转提示框

分享到: