Thinkphp自定义美化success和error提示跳转页面代码实例

先贴效果图:

优点:图标是有动画效果的,不需要背景图片。 

1、需要引用一个dialog.css,代码如下: 

/* ===========================================
 @des:     dialog.less
 @author:   美奇软件开发工作室
 @QQ:     15577969
 @赞助平台:  元宝支付(18pay.net)
 @time:    2021-01-10
 =============================================*/

@charset "utf-8";
.clearfix {
 *zoom: 1;
}
.clearfix:after {
 visibility: hidden;
 display: block;
 font-size: 0;
 content: " ";
 clear: both;
 height: 0;
}
* {
 margin: 0;
 padding: 0;
}
ul,
ol {
 list-style: none;
}
img {
 border: none;
}
input,
select,
textarea {
 outline: none;
 border: none;
 background: none;
}
textarea {
 resize: none;
}
a {
 text-decoration: none;
}
.body {
 font-family: 14px "Microsoft Yahei", "微软雅黑", Arial, Tahoma;
}
.btn-container {
 width: 100%;
 display: flex;
 display: -webkit-flex;
 display: -moz-flex;
 justify-content: space-around;
 -webkit-justify-content: space-around;
 -moz-justify-content: space-around;
}
.btn-container input[type='button'] {
 width: 20%;
 padding: 0.357rem;
 color: #fff;
 border-radius: 3px;
 -webkit-radius: 3px;
 -moz-radius: 3px;
 background-color: #3B9DFF;
}
.btn-container input[type='button']:active {
 background-color: #1966b3;
}
/*重置盒模型 */
.boxContent * {
 box-sizing: content-box;
 -webkit-box-sizing: content-box;
 -moz-box-sizing: content-box;
}
/*animation start*/
#animationTipBox {
 width: 100%;
 height: auto;
 background-color: #fff;
 border-radius: 8px;
 -webkit-border-radius: 8px;
 -moz-border-radius: 8px;
 position: fixed;
 left: 50%;
 top: 30%;
 margin-left: -50%;
 margin-top: -75px;
 z-index: 1001;
 -webkit-animation: alertAnimation 0.3s ease-in-out 0s 1;
 -moz-animation: alertAnimation 0.3s ease-in-out 0s 1;
 animation: alertAnimation 0.3s ease-in-out 0s 1;
}
#animationTipBox * {
 box-sizing: content-box;
 -webkit-box-sizing: content-box;
 -moz-box-sizing: content-box;
}
#animationTipBox .icon {
 position: relative;
 width: 80px;
 height: 80px;
 border-radius: 50px;
 -webkit-border-radius: 50px;
 -moz-border-radius: 50px;
 border: 4px solid #66cc33;
 margin: 15px auto 5px auto;
}
#animationTipBox .icon_box {
 width: 80px;
 height: 80px;
 margin: 0 auto;
 text-align: center;
 position: relative;
}
#animationTipBox .lose .icon {
 border-color: #FF9090;
}
#animationTipBox .lose .icon_box {
 -webkit-animation: lose_Animation 0.5s ease 0s 1;
 -moz-animation: lose_Animation 0.5s ease 0s 1;
 animation: lose_Animation 0.5s ease 0s 1;
}
#animationTipBox .dec_txt {
 font-size: 16px;
 text-align: center;
 color: #666;
 line-height: 26px;
 height: 26px;
 padding: 5px 0 10px 0;
}
.tip .icon {
 width: 80px;
 height: 80px;
 background-color: #66cc33;
 border-radius: 100%;
 -webkit-border-radius: 100%;
 -moz-border-radius: 100%;
 color: #fff;
 font-size: 80px;
 text-align: center;
 line-height: 80px;
}
.success .line_short {
 width: 25px;
 height: 5px;
 position: absolute;
 left: 14px;
 top: 46px;
 border-radius: 4px;
 -webkit-border-radius: 4px;
 -moz-border-radius: 4px;
 background-color: #66cc33;
 transform: rotate(45deg);
 -webkit-transform: rotate(45deg);
 -moz-transform: rotate(45deg);
 -webkit-animation: success_short_Animation 0.65s ease 0s 1;
 -moz-animation: success_short_Animation 0.65s ease 0s 1;
 animation: success_short_Animation 0.65s ease 0s 1;
}
.success .line_long {
 width: 47px;
 height: 5px;
 position: absolute;
 right: 8px;
 top: 38px;
 border-radius: 4px;
 -webkit-border-radius: 4px;
 -moz-border-radius: 4px;
 background-color: #66cc33;
 transform: rotate(-45deg);
 -webkit-transform: rotate(-45deg);
 -moz-transform: rotate(-45deg);
 -webkit-animation: success_long_Animation 0.65s ease 0s 1;
 -moz-animation: success_long_Animation 0.65s ease 0s 1;
 animation: success_long_Animation 0.65s ease 0s 1;
}
.lose .line_left,
.lose .line_right {
 width: 47px;
 height: 5px;
 position: absolute;
 left: 17px;
 top: 37px;
 border-radius: 4px;
 -webkit-border-radius: 4px;
 -moz-border-radius: 4px;
 background-color: #FF9090;
 transform: rotate(45deg);
 -webkit-transform: rotate(45deg);
 -moz-transform: rotate(45deg);
}
.lose .line_right {
 right: 11px;
 top: 37px;
 transform: rotate(-45deg);
 -webkit-transform: rotate(-45deg);
 -moz-transform: rotate(-45deg);
}
/* 总体动画 函数 */
/*all animate*/
@-webkit-keyframes alertAnimation {
 0% {
  -webkit-transform: scale(0.5);
 }
 45% {
  -webkit-transform: scale(1.25);
 }
 80% {
  -webkit-transform: scale(0.95);
 }
 100% {
  -webkit-transform: scale(1);
 }
}
@-moz-keyframes alertAnimation {
 0% {
  -webkit-transform: scale(0.5);
 }
 45% {
  -webkit-transform: scale(1.25);
 }
 80% {
  -webkit-transform: scale(0.95);
 }
 100% {
  -webkit-transform: scale(1);
 }
}
@-webkit-keyframes alertAnimation {
 0% {
  -webkit-transform: scale(0.5);
 }
 45% {
  -webkit-transform: scale(1.25);
 }
 80% {
  -webkit-transform: scale(0.95);
 }
 100% {
  -webkit-transform: scale(1);
 }
}
/*all animate*/
/*success short animate*/
@-webkit-keyframes success_short_Animation {
 0% {
  width: 0;
  left: 1px;
  top: 19px;
 }
 54% {
  width: 0;
  left: 1px;
  top: 19px;
 }
 70% {
  width: 50px;
  left: -4px;
  top: 37px;
 }
 84% {
  width: 17px;
  left: 21px;
  top: 48px;
 }
 100% {
  width: 25px;
  left: 14px;
  top: 45px;
 }
}
@-moz-keyframes success_short_Animation {
 0% {
  width: 0;
  left: 1px;
  top: 19px;
 }
 54% {
  width: 0;
  left: 1px;
  top: 19px;
 }
 70% {
  width: 50px;
  left: -4px;
  top: 37px;
 }
 84% {
  width: 17px;
  left: 21px;
  top: 48px;
 }
 100% {
  width: 25px;
  left: 14px;
  top: 45px;
 }
}
@-webkit-keyframes success_short_Animation {
 0% {
  width: 0;
  left: 1px;
  top: 19px;
 }
 54% {
  width: 0;
  left: 1px;
  top: 19px;
 }
 70% {
  width: 50px;
  left: -4px;
  top: 37px;
 }
 84% {
  width: 17px;
  left: 21px;
  top: 48px;
 }
 100% {
  width: 25px;
  left: 14px;
  top: 45px;
 }
}
/*success short animate*/
/*success long animate*/
@-webkit-keyframes success_long_Animation {
 0% {
  width: 0;
  right: 46px;
  top: 54px;
 }
 65% {
  width: 0;
  right: 46px;
  top: 54px;
 }
 84% {
  width: 55px;
  right: 0px;
  top: 35px;
 }
 100% {
  width: 47px;
  right: 8px;
  top: 38px;
 }
}
@-moz-keyframes success_long_Animation {
 0% {
  width: 0;
  right: 46px;
  top: 54px;
 }
 65% {
  width: 0;
  right: 46px;
  top: 54px;
 }
 84% {
  width: 55px;
  right: 0px;
  top: 35px;
 }
 100% {
  width: 47px;
  right: 8px;
  top: 38px;
 }
}
@-webkit-keyframes success_long_Animation {
 0% {
  width: 0;
  right: 46px;
  top: 54px;
 }
 65% {
  width: 0;
  right: 46px;
  top: 54px;
 }
 84% {
  width: 55px;
  right: 0px;
  top: 35px;
 }
 100% {
  width: 47px;
  right: 8px;
  top: 38px;
 }
}
/*success long animate*/
/*load_Animation*/
@-webkit-keyframes load_Animation {
 0% {
  -webkit-transform: scale(0.6);
  opacity: 0.2;
 }
 50% {
  -webkit-transform: scale(0.6);
  opacity: 0.5;
 }
 80% {
  -webkit-transform: scale(1.15);
  opacity: 0.8;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 1.0;
 }
}
@-moz-keyframes load_Animation {
 0% {
  -webkit-transform: scale(0.6);
  opacity: 0.2;
 }
 50% {
  -webkit-transform: scale(0.6);
  opacity: 0.5;
 }
 80% {
  -webkit-transform: scale(1.15);
  opacity: 0.8;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 1.0;
 }
}
@-webkit-keyframes load_Animation {
 0% {
  -webkit-transform: scale(0.6);
  opacity: 0.2;
 }
 50% {
  -webkit-transform: scale(0.6);
  opacity: 0.5;
 }
 80% {
  -webkit-transform: scale(1.15);
  opacity: 0.8;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 1.0;
 }
}
/*load_Animation*/
/*lose_Animation*/
@-webkit-keyframes lose_Animation {
 0% {
  -webkit-transform: scale(0.6);
  opacity: 0.2;
 }
 50% {
  -webkit-transform: scale(0.6);
  opacity: 0.5;
 }
 80% {
  -webkit-transform: scale(1.15);
  opacity: 0.8;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 1.0;
 }
}
@-moz-keyframes lose_Animation {
 0% {
  -webkit-transform: scale(0.6);
  opacity: 0.2;
 }
 50% {
  -webkit-transform: scale(0.6);
  opacity: 0.5;
 }
 80% {
  -webkit-transform: scale(1.15);
  opacity: 0.8;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 1.0;
 }
}
@-webkit-keyframes lose_Animation {
 0% {
  -webkit-transform: scale(0.6);
  opacity: 0.2;
 }
 50% {
  -webkit-transform: scale(0.6);
  opacity: 0.5;
 }
 80% {
  -webkit-transform: scale(1.15);
  opacity: 0.8;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 1.0;
 }
}
/*lose_Animation*/
.load {
 position: relative;
 width: 60px;
 height: 80px;
 border-radius: 50px;
 -webkit-border-radius: 50px;
 -moz-border-radius: 50px;
 border: 4px solid #fff;
 margin: 15px auto 5px auto;
 top: 10px;
}
.load .icon_box {
 margin: 10px auto;
 width: 60px;
 height: 60px;
}
.load .cirBox1,
.load .cirBox2,
.load .cirBox3 {
 width: 60px;
 height: 60px;
 position: absolute;
 left: 0;
 top: 0;
}
.load .cirBox1 > div,
.load .cirBox2 > div,
.load .cirBox3 > div {
 width: 10px;
 height: 10px;
 border-radius: 100%;
 -webkit-border-radius: 100%;
 -moz-border-radius: 100%;
 background-color: #ccc;
 position: absolute;
}
.load .cirBox1 {
 transform: rotate(30deg);
 -webkit-transform: rotate(30deg);
 -moz-transform: rotate(30deg);
}
.load .cirBox2 {
 transform: rotate(60deg);
 -webkit-transform: rotate(60deg);
 -moz-transform: rotate(60deg);
}
.load .cirBox3 {
 transform: rotate(90deg);
 -webkit-transform: rotate(90deg);
 -moz-transform: rotate(90deg);
}
.load .cir1 {
 left: 0;
 top: 0;
}
.load .cir2 {
 right: 0;
 top: 0;
}
.load .cir3 {
 right: 0;
 bottom: 0;
}
.load .cir4 {
 left: 0;
 bottom: 0;
}
.load .cir1,
.load .cir2,
.load .cir3,
.load .cir4 {
 -webkit-animation: cir_Animation 1.2s ease 0s infinite;
 -moz-animation: cir_Animation 1.2s ease 0s infinite;
 animation: cir_Animation 1.2s ease 0s infinite;
}
.cirBox1 .cir2 {
 -webkit-animation-delay: -1.1s;
 -moz-animation-delay: -1.1s;
 animation-delay: -1.1s;
}
.cirBox1 .cir3 {
 -webkit-animation-delay: -0.8s;
 -moz-animation-delay: -0.8s;
 animation-delay: -0.8s;
}
.cirBox1 .cir4 {
 -webkit-animation-delay: -0.5s;
 -moz-animation-delay: -0.5s;
 animation-delay: -0.5s;
}
.cirBox2 .cir2 {
 -webkit-animation-delay: -1s;
 -moz-animation-delay: -1s;
 animation-delay: -1s;
}
.cirBox2 .cir3 {
 -webkit-animation-delay: -0.7s;
 -moz-animation-delay: -0.7s;
 animation-delay: -0.7s;
}
.cirBox2 .cir4 {
 -webkit-animation-delay: -0.4s;
 -moz-animation-delay: -0.4s;
 animation-delay: -0.4s;
}
.cirBox3 .cir2 {
 -webkit-animation-delay: -0.9s;
 -moz-animation-delay: -0.9s;
 animation-delay: -0.9s;
}
.cirBox3 .cir3 {
 -webkit-animation-delay: -0.6s;
 -moz-animation-delay: -0.6s;
 animation-delay: -0.6s;
}
.cirBox3 .cir4 {
 -webkit-animation-delay: -0.3s;
 -moz-animation-delay: -0.3s;
 animation-delay: -0.3s;
}
@-webkit-keyframes cir_Animation {
 0%,
 80%,
 100% {
  -webkit-transform: scale(0.4);
 }
 40% {
  -webkit-transform: scale(1);
 }
}
@-moz-keyframes cir_Animation {
 0%,
 80%,
 100% {
  -webkit-transform: scale(0.4);
 }
 40% {
  -webkit-transform: scale(1);
 }
}
@-webkit-keyframes cir_Animation {
 0%,
 80%,
 100% {
  -webkit-transform: scale(0.4);
 }
 40% {
  -webkit-transform: scale(1);
 }
}
.mask {
 width: 100%;
 height: 100%;
 background-color: #000;
 opacity: .8;
 position: fixed;
 left: 0;
 top: 0;
 z-index: 1000;
}

2、修改application/config.php里,默认跳转页面对应的模板文件

// 视图输出字符串内容替换
'view_replace_str'    => ['__STATIC__'=>'/static'],
// 默认跳转页面对应的模板文件
//'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
//'dispatch_error_tmpl'  => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS .'default_jump.tpl',
'dispatch_error_tmpl'  => THINK_PATH . 'tpl' . DS .'default_jump.tpl',

3、在thinkphp/tpl目录下新建一个default_jump.tpl,代码如下:

{__NOLAYOUT__}<!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" />
  <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
  <title>跳转提示</title>
	<!--引入dialog.css样式-->
  <link rel="stylesheet" href="__STATIC__/css/dialog.css" rel="external nofollow" >
  <style type="text/css">
		.system-message p{ text-align: center;}
		.system-message .jump{ padding-top: 10px}
		.system-message .jump a{ color: #333;}
		.system-message .jump-btn{margin-top: 40px}
		.system-message .jump-btn a{font-size: 16px;color: #fff;border-radius: 4px;background-color: #0d65a3;padding: 6px 16px;text-decoration: none;}
	</style>
</head>
<body>
  <div class="system-message">
		<div id='animationTipBox'>
    <?php switch ($code) {?>
      <?php case 1:?>
			<!--成功-->
				<div class='success'>
				  <div class='icon'>
					  <div class='icon_box'>
						  <div class='line_short'></div>
						  <div class='line_long'></div>
					  </div>
				  </div>
					<div class='dec_txt'><?php echo(strip_tags($msg));?></div>
				</div>
      <?php break;?>
      <?php case 0:?>
			<!--错误-->
				<div class='lose'>
				  <div class='icon'>
					  <div class='icon_box'>
						  <div class='line_left'></div>
						  <div class='line_right'></div>
					  </div>
				  </div>
					<div class='dec_txt'><?php echo(strip_tags($msg));?></div>
				</div>
      <?php break;?>
    <?php } ?>
			<p class="jump">
				页面自动<a id="href" href="<?php echo($url);?>" rel="external nofollow" >跳转</a> 等待时间: <b id="wait"><?php echo($wait);?></b>
			</p>
			<p class="jump-btn"><a id="href" href="<?php echo($url); ?>" rel="external nofollow" >点击跳转</a></p>
		</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);
    })();
  </script>
</body>
</html>

注意:dialog.css的路径要根据你自己的网站来写

到此这篇关于Thinkphp自定义美化success和error提示跳转页面代码实例的文章就介绍到这了,更多相关Thinkphp自定义美化success和error提示跳转页面内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • thinkPHP5(TP5)实现改写跳转提示页面的方法

    本文实例讲述了thinkPHP5(TP5)实现改写跳转提示页面的方法.分享给大家供大家参考,具体如下: 大家都知道Tp框架一直以来的执行成功和失败的页面都不是特别的好看,不过这样也给了开发者一个不错的选择我们可以根据自己的喜好去改写这个跳转提示的页面 我使用的是Tp5框架,Tp5的跳转提示页面的改写和Tp3的有异曲同工之妙,首先还是先看一下Tp框架中自带的跳转提示页面的代码吧,我直接贴上了: {__NOLAYOUT__}<!DOCTYPE html PUBLIC "-//W3C//DTD

  • thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法

    本文实例讲述了thinkphp在php7环境下提示Cannot use 'String' as class name as it is reserved的解决方法.分享给大家供大家参考,具体如下: 我有一网站之前用php7运行thinkphp没有什么问题,但是最近发现开启验证码的时候发现有错误 Cannot use 'String' as class name as it is reserved 在google baidu搜索了一下还是没有解决方法 于是自己动手解决,看来我是第一个分享出来的人

  • ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法

    本文实例讲述了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法.分享给大家供大家参考.具体如下: 一.问题描述: ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype(). 二.解决方法: 出现这个错误就是php.in 配置问题,打开即可:打开扩展 exten

  • ThinkPHP调用common/common.php函数提示错误function undefined的解决方法

    本文主要介绍了ThinkPHP调用common/common.php函数提示错误function undefined的解决方法.对于采用ThinkPHP进行项目开发的朋友来说,在进行ThinkPHP升级后经常会遇到这类问题.具体描述如下: 在对ThinkPHP升级后使用了最新的ThinkPHP3.2版本,将通用的函数放到了common/common.php中,但是在具体页面调用函数时出现了function undefined的错误提示. 在查看了官方文档后发现,原来ThinkPHP3.2版本co

  • ThinkPHP中自定义错误页面和提示页面实例

    本文实例讲述了ThinkPHP中自定义错误页面和提示页面的方法.分享给大家供大家参考.具体实现方法如下: 在ThinkPHP中有两个方法时提示错误页面 _404('错误信息','跳转的地址');halt('提示信息'); 这两个函数都可以自定义错误页面在配置文件中加 复制代码 代码如下: 'TMPL_EXCEPTION_FILE'=>'./Public/Tpl/error.html' 这样每次就会跳转到这个页面. 下面是我定制的错误页面 复制代码 代码如下: 在( 3 )秒后自动跳转,或直接点击

  • Thinkphp自定义美化success和error提示跳转页面代码实例

    先贴效果图: 优点:图标是有动画效果的,不需要背景图片.  1.需要引用一个dialog.css,代码如下:  /* =========================================== @des: dialog.less @author: 美奇软件开发工作室 @QQ: 15577969 @赞助平台: 元宝支付(18pay.net) @time: 2021-01-10 =============================================*/ @charse

  • vue单页面应用打开新窗口显示跳转页面的实例

    一般单页面应用,例如vue都是通过vue-router来做跳转,不会像多页应用一样另起新页面显示,但是也不排除一些业务上的需要. 一般情况下单页面应用的路由跳转我们都是通过简单的一句话搞定: this.$router.push({name: 'abc'}) 以上是常规的通过路由的页面跳转方法. 我们现在的需求是另外开启一个新页面来显示跳转到的页面,原本的窗口保持页面不变. const { href } = this.$router.resolve({ name: 'abc' }) window.

  • ThinkPHP跳转页success及error模板实例教程

    本文以实例讲解了ThinkPHP跳转页面的success与error方法所对应的视图与控制器的实现方法,通过本实例教程可以帮助读者更好的掌握success方法与error方法的使用. 首先是控制器中,可以使用下代码: <?php // 本文档自动生成,仅供测试运行 class IndexAction extends Action { /** +---------------------------------------------------------- * 默认操作 +----------

  • ThinkPHP页面跳转success与error方法概述

    ThinkPHP自身提供了success方法与error方法用于实现带提示信息的页面跳转功能,可实现添加数据后显示提示信息并跳转的效果.success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以success 方法来进行说明. 1.success方法   success方法语法如下: success(message, ajax)  参数说明message可选.页面提示信息.ajax可选.是否AJAX 方式提交,默认为false . 如果是AJAX 方

  • thinkphp自定义权限管理之名称判断方法

    权限管理,就是给不同的用户分配不同的权限.当用户登录或者操作时候进行判断,来阻止用户进行权限以外的操作.本次讲的是当用户登录一刻,只显示权限开启的内容. 一.建立数据库. 1.权限表funcla.来存储录入所有权限,也是避免因权限名称修改了,权限失效的问题. 2.管理员表admin.主要存储管理员用户名等信息. 3.管理员对应权限表funadmin.主要存储已开启的管理员id与权限id. 二.输出权限列表. 1.通过管理员列表进入权限分配. 2.权限分配列表. 关于权限分配列表,因为权限板块的不

  • springboot 自定义404、500错误提示页面的实现

    目录 springboot 默认的异常处理机制 使用模板引擎 使用示例 没有使用模板引擎 springboot 默认的异常处理机制 springboot 默认已经提供了一套处理异常的机制.一旦程序中出现了异常 springboot 会向 /error 的 url 发送请求.在 springboot 中提供了一个名为 BasicErrorController 的类来处理 /error 请求,然后跳转到默认显示异常的页面来展示异常信息 使用模板引擎 在使用 thymeleaf 等模板引擎时,spri

  • ThinkPHP自定义Redis处理SESSION的实现方法

    本文实例讲述了ThinkPHP自定义Redis处理SESSION的实现方法.分享给大家供大家参考,具体如下: 日常中我们都会使用到session来保存用户登录的信息,常用的session的保存方式有:文件保存(默认).数据库保存.Redis保存.memcached等.这里主要记录一下在用ThinkPHP处理session用Redis来保存session的用法. 1.在配置项中定义: 'SESSION_TYPE' => 'Redis', //session保存类型 'SESSION_PREFIX'

  • 登录超时给出提示跳到登录页面(ajax、导入、导出)

    一.一般页面登录超时验证,可以用过滤器filter,如下: package com.lg.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequ

  • Thinkphp自定义代码生成工具及用法说明(附下载地址)

    本文实例讲述了Thinkphp自定义代码生成工具及用法说明.分享给大家供大家参考,具体如下: 我最近沮丧的发现在使用Thinkphp很多时候我都在做重复的事情,比如重复写最简单的CRUD方法,编写表单,写前台样式表等等. Thinkphp对于后台操作的支持已经非常强大,再加上最近非常流行的Bootstrap框架让前台样式也变得容易遵循一个标准,于是我决定开始写一个属于自己的代码生成器. 我希望它操作足够简单,让人一看就懂,对MySql和Sqlite数据库都能够稳定生成CRUD代码就好,还如果还能

  • 基于thinkphp6.0的success、error实现方法

    最近把项目升级到tp6.0,一开始比较顺利,安装文档升级,但是升级指导指出: 系统不再提供基础控制器类 think\Controller ,原来的 success . error . redirect 和 result 方法需要自己在基础控制器类里面实现. 这意味着需要自己来实现原来的一系列的函数 我这里参考to5.1的跳转源码,进行改进得到,具体步骤如下: 1.app目录下新建一个tpl文件夹,放入dispatch_jump.tpl文件,这个可以直接到原来的tp5中copy 2.在config

随机推荐