问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在thinkphp中自动验证在模板页面怎样显示错误的信息

发布网友 发布时间:2022-04-07 04:45

我来回答

5个回答

懂视网 时间:2022-04-07 09:06

ThinkPHP提供了自带的错误提示页面,但是并不美观,提示信息显示如下:

1.jpg

我们如果想要更换提示页面应该怎么做呢?

以ThinkPHP3.2为例:

在应用配置文件(应用文件目录/Common/Conf/config.php)中添加:

/* 错误页面模板 */
'TMPL_ACTION_ERROR' => 'Public/dispatch_jump.html', // 默认错误跳转对应的模板文件'
'TMPL_ACTION_SUCCESS' => 'Public/dispatch_jump.html', // 默认成功跳转对应的模板文件'
//'TMPL_EXCEPTION_FILE' => 'Public/exception.html',// 异常页面的模板文件

然后我是在项目公共文件(项目目录/Public)中新建了dispatch_jump.html,模板内容如下:

<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>跳转提示</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <style type="text/css">
  *{box-sizing:border-box;margin:0;padding:0;font-family:Lantinghei SC,Open Sans,Arial,Hiragino Sans GB,Microsoft YaHei,"微软雅黑",STHeiti,WenQuanYi Micro Hei,SimSun,sans-serif;-webkit-font-smoothing:antialiased}
  body{padding:70px 0;background:#edf1f4;font-weight:400;font-size:1pc;-webkit-text-size-adjust:none;color:#333}
  a{outline:0;color:#3498db;text-decoration:none;cursor:pointer}
  .system-message{margin:20px 5%;padding:40px 20px;background:#fff;box-shadow:1px 1px 1px hsla(0,0%,39%,.1);text-align:center}
  .system-message h1{margin:0;margin-bottom:9pt;color:#444;font-weight:400;font-size:40px}
  .system-message .jump,.system-message .image{margin:20px 0;padding:0;padding:10px 0;font-weight:400}
  .system-message .jump{font-size:14px}
  .system-message .jump a{color:#333}
  .system-message p{font-size:9pt;line-height:20px}
  .system-message .btn{display:inline-block;margin-right:10px;width:138px;height:2pc;border:1px solid #44a0e8;border-radius:30px;color:#44a0e8;text-align:center;font-size:1pc;line-height:2pc;margin-bottom:5px;}
  .success .btn{border-color:#69bf4e;color:#69bf4e}
  .error .btn{border-color:#ff8992;color:#ff8992}
  .info .btn{border-color:#3498db;color:#3498db}
  .copyright p{width:100%;color:#919191;text-align:center;font-size:10px}
  .system-message .btn-grey{border-color:#bbb;color:#bbb}
  .clearfix:after{clear:both;display:block;visibility:hidden;height:0;content:"."}
  @media (max-width:768px){body {padding:20px 0;}}
  @media (max-width:480px){.system-message h1{font-size:30px;}}
 </style>
 </head>
 <body>
 <div class="system-message error">
  <?php
  if(isset($message)){
  ?>
  <div class="image">
  <img src="http://cdn.demo.fastadmin.net/assets/img/success.svg" alt="" width="150" />
  </div>
  <h1>
  <?php
  echo $message;
  }else{
  ?>
  <div class="image">
  <img src="http://cdn.demo.fastadmin.net/assets/img/error.svg" alt="" width="150" />
  </div>
  <h1>
  <?php
  echo $error;
  }?></h1>
  <p class="jump">
  页面将在 <span id="wait"><?php echo($waitSecond); ?></span><!-- <span id="wait">3</span> -->秒后自动<a id="href" href="<?php echo($jumpUrl); ?>">跳转</a>
  </p>
  <p class="clearfix">
  <a href="javascript:history.go(-1);" class="btn btn-grey">返回上一步</a>
  <a href="<?php echo($jumpUrl); ?>" class="btn btn-primary">立即跳转</a>
  </p>
 </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);
  })();
 </script>
 </body>
</html>

效果如下:

2.jpg

推荐教程:《TP5》

热心网友 时间:2022-04-07 06:14

使用getError() 这个方法就可以拿错误信息,然后看你是通过Ajax 还是assign方法进行传值就可以了.
$error = $model->getError();
$this->assign('error',$error);

热心网友 时间:2022-04-07 07:32

提示出来就可以 开启gebug

热心网友 时间:2022-04-07 09:07

$this->error('错误信息');

热心网友 时间:2022-04-07 10:58

你想验证什么
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
形容手表很舒服的句子 情侣手表的对话句子 租门面和房东鉴了十年合同,房东要退店面,我可以不退吗,继续经 ...一篇朝花夕拾里十篇小短文的主要内容及作者的情感和主要人物的... 什么叫狼狗 狼狗的生活习性有哪些? 起个姓罗好听的宝宝名字 野火的近义词 个是词语解释 请旌词语解释 vue route.route.go路由跳转能打新的窗口吗 拍了好多照片,想把它们编辑在一起,做成创意相册,请问有谁知道怎么做? 旅行相册可以用什么软件制作? 首套房贷平均利率连降两个月 LPR下行空间大 小黄车月卡怎么买 thinkphp使用smarty模板后如何配置success和error跳转页面 水煮栗子的做法,水煮栗子怎么做好吃,水煮栗子 怎么煮栗子好吃? 水煮栗子的家常做法大全怎么做好吃视频 水煮栗子的做法大全 板栗怎么煮好吃 水煮栗子的家常做法 股票均线规律 为什么股票的均线都是2日统计一次?? pptx与potx有什么区别 怎么知道自己买的口红是不是正品? office2007的PPT格式后缀到底是ppsx还是pptx?? 这两种文件我都见过。 口红如何辨别真假 口红怎么鉴别正品 potx和pptx有什么区别? 怎么辨别口红的真假 一年没满 想更改怎么更改? vue路由发生了跳转,但页面没有跳转成功,怎么办呢? vue路由跳转问题 未满一年怎么修改 Vue2.0,路由页面自己可以带着不同参数跳转到当前路由吗 vue 路由跳转后 怎样去掉指定的组件 未满一年怎么改? 不够一年怎么改? 一年没满 想更改怎么更改 未满一年怎么改第二次 一年没满 想更改怎么更改? 没满足条件改不了怎么办 修改未满一年怎么修改 修改未满一年怎么修改 一年没满 想更改怎么更改? 未满一年怎么改? 未满一年怎么修改 未满一年怎么修改 一年没满 想更改怎么更改 一年没满 想更改怎么更改?