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 相关文章推荐
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
深思 PHP 数组遍历的差异(array_diff 的实现)
Mar 23 PHP
php adodb分页实现代码
Mar 19 PHP
php简单提示框alert封装函数
Aug 08 PHP
discuz的php防止sql注入函数
Jan 17 PHP
批量获取memcache值并按key的顺序返回的实现代码
Jun 14 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
php基于curl重写file_get_contents函数实例
Nov 08 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
May 02 PHP
ThinkPHP框架表单验证操作方法
Jul 19 #PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 #PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 #PHP
php实现的pdo公共类定义与用法示例
Jul 19 #PHP
PHP多进程编程实例详解
Jul 19 #PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
Jul 19 #PHP
php实现生成code128条形码的方法详解
Jul 19 #PHP
You might like
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
javascript测试题练习代码
2012/10/10 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
微信小程序图片自适应实现解析
2020/01/21 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
师德师风建设方案
2014/05/08 职场文书
英文求职信范文
2014/05/23 职场文书
幼儿园标语大全
2014/06/19 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
高中生军训感言
2015/08/01 职场文书
文明礼貌主题班会
2015/08/14 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL