thinkphp3.2实现在线留言提交验证码功能


Posted in PHP onJuly 19, 2017

如何实现验证码成功验证功能?提交验证码?这篇文章为大家解答。

把今天掌握的东西整理一下,要不然,我就忘干净了:

今天在做一个企业网站的时候,有一个在线留言的功能,最后提交的时候需要输入验证码。如图下:

thinkphp3.2实现在线留言提交验证码功能

当然,特连接的并不是我的后台

好了,开始了,首先我需要把验证码显示出来,前端页面:

<div class="message-con clearfix">
 <div class="mcon-left pic pull-left"><img src="/Public/Admin/xx/images/message.png" class="vcenter" alt="" /></div>
 <div class="mcon-right pull-right">
 <form method="post" action="{:U('validate')}" name='valiate'> 
 <label><span>姓名</span><input type="text" name="xingming" class="mname" value=""/><em>*</em></label>
 <label><span>联系电话</span><input type="text" name="tel" class="mtel" /><em>*</em></label>
 <label><span>联系地址</span><input type="text" name="dizhi" class="madd" /></label>
 <label><span>邮箱地址</span><input type="text" name="youxiang" class="memail" /></label>
 <label><span>留言内容</span><textarea name="content" class="mcontent"></textarea><em>*</em></label>
 <label class="mcodela"><input type="text" name="code" class="mcode" />
  <img src="{:U('verify')}" onClick="this.src=this.src+'?'+Math.random();" alt="" />
  <a href="#" rel="external nofollow" >看不清楚?换一张</a><em>*</em></label>
 <label><input type="submit" class="msub" name="tj" value="在线提交" /></label>
 </form>
 </div>
 </div>
 </div>

好 点击事件,name,提交按钮都改好了,走起,去控制器啦;

来到控制器这里,先做一件事,引入model吧:

use Otcms\Model;

啥?没有model类  自己去写吧:

<?php
namespace Otcms\Model;
use Think\Model;
class UserModel extends Model{
 protected $_validate = array(

  array('xingming','require','姓名不可空!'),
  array('tel','require ','手机号不可空!'),
  array('dizhi','require','地址不可空!'),
  array('youxiang',' require','邮箱不可空!'),
  array('content','require','内容不可空!'),
 );
}

设置验证码:

显示:

public function verify(){

  $config = array(
   'fontSize' => 30, // 验证码字体大小
   'length'  => 4,  // 验证码位数
  );

  $verify = new\Think\Verify($config);
  $verify->entry();

 }

下面来写条件:

public function validate(){
  $date['xingming'] = I('post.xingming');
  $date['tel'] = I('post.tel');
  $date['dizhi'] = I('post.izhi');
  $date['youxiang'] = I('post.youxiang');
  $date['content'] = I('post.content');
  $yzm = I('post.code');

  $fkyz = D("Liuyan");

  if (!$fkyz->create()){
   // 如果创建失败 表示验证没有通过 输出错误提示信息
   exit($fkyz->getError());

  }else{
  
   // 验证通过 可以进行其他数据操作
   $verify = new \Think\Verify();
   $yzmyz = $verify->check($yzm);

   if(!$yzmyz){

    $this->error('验证码错误');

   }
   else{
    $validate = M("liuyan");
    $validate->add($date);
    $this->success('添加成功');

   }
  }
 }

图:

thinkphp3.2实现在线留言提交验证码功能

thinkphp3.2实现在线留言提交验证码功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个MYSQL操作类
Nov 16 PHP
php 无限极分类
Mar 27 PHP
ThinkPHP验证码和分页实例教程
Aug 22 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
PHP制作万年历
Jan 07 PHP
深入php内核之php in array
Nov 10 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
php数据访问之增删改查操作
May 09 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
Yii2语言国际化自动配置详解
Aug 22 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
Apr 03 PHP
ThinkPHP框架表单验证操作方法
Jul 19 #PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 #PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 #PHP
php实现的pdo公共类定义与用法示例
Jul 19 #PHP
PHP实现的Redis多库选择功能单例类
Jul 27 #PHP
PHP策略模式定义与用法示例
Jul 27 #PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 #PHP
You might like
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python控制台中实现进度条功能
2015/11/10 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
python实现简单登陆流程的方法
2018/04/22 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
自动一体化专业求职信
2014/03/15 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
公司庆典欢迎词
2015/01/26 职场文书
单位接收证明格式
2015/06/18 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA