原文链接
[TP笔记]ThinkPHP自定义错误页面、成功页面及异常页面
2014/06/20 | ThinkPHP | 13 条评论 | (5评) |
看了前面分享的一篇《什么是真正的程序员?》,觉得自己离这个目标还差的很远,所以要抓紧朝着这个方向前进。作为一名PHP小码农,掌握一种框架是必须的。所以今天开始我们就从国产PHP框架 ThinkPHP 开始学起~
为什么会选择 ThinkPHP 呢?首先,作为一款国产PHP框架,文档肯定比国外那些框架要丰富的多,而且容易看懂;其次,ThinkPHP已经发展了七八年的时间了,相对来说已经比较成熟了;当然,最重要的是它比较轻量级,相对其他的框架来说比较容易上手,所以就选择了ThinkPHP。
好了话不多说,下面分享第一篇笔记~
ThinkPHP 作为一款轻量级PHP开发框架,它为我们提供了自带的错误页面、异常页面等信息提示页面,比如下面的代码会出现这样的提示:
- $this->error(‘验证码错误!‘);
我们可以看到,自带的页面并不美观,所以我们需要自定义这些页面,ThinkPHP 为我们提供了自定义提示页面这样一种功能。
在配置文件中添加如下配置信息:
- /* 错误页面模板 */
- ‘TMPL_ACTION_ERROR‘ => MODULE_PATH.‘View/Public/error.html‘, // 默认错误跳转对应的模板文件
- ‘TMPL_ACTION_SUCCESS‘ => MODULE_PATH.‘View/Public/success.html‘, // 默认成功跳转对应的模板文件
- ‘TMPL_EXCEPTION_FILE‘ => MODULE_PATH.‘View/Public/exception.html‘,// 异常页面的模板文件
把这段配置信息放入到当前模型的 /Conf/config.php 中,然后在当前模型的 View 目录下创建 Public 文件夹,并在里面自定义 error.html success.html 及 exception.html 即可。
下面是一个简单的错误页面模板:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>跳转提示</title>
- <style type="text/css">
- *{ padding: 0; margin: 0; }
- body{ background: #290C0C; font-family: ‘微软雅黑‘; color: #fff; font-size: 16px; }
- .system-message{ padding: 24px 48px; }
- .system-message h1{ font-size: 80px; font-weight: normal; line-height: 120px; margin-bottom: 12px }
- .system-message .jump{ padding-top: 10px;margin-bottom:20px}
- .system-message .jump a{ color: #333;}
- .system-message .success,.system-message .error{ line-height: 1.8em; font-size: 36px }
- .system-message .detail{ font-size: 12px; line-height: 20px; margin-top: 12px; display:none}
- #wait {
- font-size:46px;
- }
- #btn-stop,#href{
- display: inline-block;
- margin-right: 10px;
- font-size: 16px;
- line-height: 18px;
- text-align: center;
- vertical-align: middle;
- cursor: pointer;
- border: 0 none;
- background-color: #8B0000;
- padding: 10px 20px;
- color: #fff;
- font-weight: bold;
- border-color: transparent;
- text-decoration:none;
- }
- #btn-stop:hover,#href:hover{
- background-color: #ff0000;
- }
- </style>
- </head>
- <body>
- <div class="system-message">
- <h1>抱歉,出错啦!</h1>
- <p class="error"><?php echo($error); ?></p>
- <p class="detail"></p>
- <p class="jump">
- <b id="wait"><?php echo($waitSecond); ?></b> 秒后页面将自动跳转
- </p>
- <div>
- <a id="href" id="btn-now" href="<?php echo($jumpUrl); ?>">立即跳转</a>
- <button id="btn-stop" type="button" onclick="stop()">停止跳转</button>
- <a id="href" id="btn-now" href="<?php echo(U(‘Public/logout‘)); ?>">重新登录</a>
- </div>
- </div>
- <script type="text/javascript">
- (function(){
- var wait = document.getElementById(‘wait‘),href = document.getElementById(‘href‘).href;
- var interval = setInterval(function(){
- var time = --wait.innerHTML;
- if(time <= 0) {
- location.href = href;
- clearInterval(interval);
- };
- }, 1000);
- window.stop = function (){
- console.log(111);
- clearInterval(interval);
- }
- })();
- </script>
- </body>
- </html>
我们把上面的代码放到自定义 error.html 页面中,然后再看最开始的错误提示页面就会变成下面这样:
时间: 2024-11-03 21:39:17