php如何自定义报错页面

本文操作环境:windows10系统、PHP 7&&thinkphp 5、thinkpad t480电脑。

ThinkPHP 作为一款轻量级的PHP开发框架,拥有丰富的文档,而且相对于其他框架来说更加容易上手。因此我们这里选择thinkphp来实现自定义报错页面。

ThinkPHP 本身为我们提供了自带的错误页面、异常页面等信息提示页面,比如下面的代码会出现这样的提示:

$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>
<?php if(isset($message)) {?>
<p class="error"><?php echo($message); ?></p>
<?php }else{?>
<p class="error"><?php echo($error); ?></p>
<?php }?>
<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>

效果:

ca91aa974d26403ff3ad7d73f4aed6f.png

--结束END--

本文标题: php如何自定义报错页面

本文链接: https://www.lsjlt.com/news/260.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php如何自定义报错页面

    php自定义报错页面的方法:1、在配置文件中添加错误页面模板信息;2、将配置信息放入当前模型的/Conf/config.php中;3、在当前模型的View目录下创建Public文件夹,并在其中自定义错误页面即可。
    阅读数:314 php 报错页面
  • PHP如何自定义异常类

    小编给大家分享一下PHP如何自定义异常类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!/* * 1.自定义的异常类,必须是系统类Exception的子类 *
    阅读数:876 php
  • PHP对Mysql操作的自定义函数

    ?php/***@name db_connect 连接数据库服务器**@param string $host 主机地址*@param string $user 用户名*@param string $pwd 用户密码
    阅读数:493 php mysql
  • Docker 自定义Dev环境并部署php

    这篇文章主要介绍了Docker 自定义Dev环境(部署PHP),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • PHP如何自定义扩展(二)之钩子功能

    php入门到就业线上直播课:查看学习
    阅读数:841 php 自定义扩展 钩子
  • PHP如何自定义扩展(一)之基本步骤

    php入门到就业线上直播课:查看学习
    阅读数:504 php c
  • wordpress自定义循环列表的php代码

    复制代码代码如下: ?php $epaged = (get_query_var('paged')) ? get_query_var('paged') : 1; $temp = $wp_query; $wp_query = null; ?>
    阅读数:945 wordpress 自定义 循环列表
  • docker怎么自定义镜像构建php7

    这篇文章主要讲解了“docker怎么自定义镜像构建php7”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“docker怎么自定义镜像构建php7”吧!首先进行简单的docker安装。要进行自定
    阅读数:758 docker php
  • php中怎么利用uasort()自定义排序 多维数组

    php中怎么利用uasort()自定义排序 多维数组,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php内置的排序函数很多;正反各种排;常用的排序函数:sort() - 以升序
    阅读数:332 php
  • 如何使用Serializable接口来自定义PHP中类的序列化

    这篇文章主要介绍了如何使用Serializable接口来自定义PHP中类的序列化,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
  • 利用PHP实现词法分析器与自定义语言

    这篇文章主要为大家详细介绍了润滑利用PHP实现词法分析器与自定义语言,文中的示例代码讲解详细,感兴趣的小伙伴可以动手尝试一下
  • php如何定义对象

    在php中定义对象的方法1.通过变量定义对象$clsName = Person;$obj2 = new $clsName();echo 类名:.get_class($obj2).br>;echo $obj2->getName().hr>
    阅读数:561 PHP
  • php如何定义全局数组

    在php中定义全局数组的方法1.使用$_SERVER服务器变量定义全局数组foreach($_SERVER as $key => $value){echo '$_SERVER['+.$key+']='.$value.'';}2.使用$_EN
    阅读数:704 PHP
  • 如何解决php exec报错问题

    php exec报错的解决办法:1、修改ping或者对应命令的执行权限;2、将命令全路径补全“exec('/usr/sbin',$output);”;3、在环境变量中增加目标目录。
    阅读数:323 php linux exec
  • 如何解决php 40001报错问题

    出现php 40001报错是因为access_token过期或不是最新的,导致发送模板消息报错,其解决办法就是重新修改access_token即可。
    阅读数:253 php
  • 如何解决php define 报错问题

    php define报错是因为通过定义ture来使常量不区分大小写的做法是错的,其解决办法是弃用true作为define()的第三个参数。
    阅读数:771 php define
  • PHP如何实现HTML页面静态化

    这篇文章主要为大家展示了“PHP如何实现HTML页面静态化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何实现HTML页面静态化”这篇文章吧。一般情况下会从以下方面来做优化动态页面静态化
    阅读数:390 php html
  • html页面如何跟php文件连接

    这篇文章给大家分享的是有关html页面如何跟php文件连接的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。html本身是无法处理动态请求,要完成调用PHP文件就需要借用JavaScript来实现了。在生成静态页面时
    阅读数:478 html php
  • 如何解决php make test报错问题

    php make test报错的解决办法:1、打开命令窗口;2、在configure时候加上“--enable-cli”,就可以make test了。
    阅读数:145 php make test
  • 如何解决strict standards php报错问题

    strict standards php报错的解决办法:1、在父类之后定义继承类;2、在“setup-config.php”文件中添加“error_reporting( ~(E_STRICT | E_NOTICE));”。
    阅读数:124 strict standards php