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 相关文章推荐
PHP strtok()函数的优点分析
Mar 02 PHP
更改localhost为其他名字的方法
Feb 10 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
php对微信支付回调处理的方法
Aug 23 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
Oct 18 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 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 编写的日历
2006/10/09 PHP
mac下安装nginx和php
2013/11/04 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
javascript按顺序加载运行js方法
2017/12/01 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
vue interceptor 使用教程实例详解
2018/09/13 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
javascript实现智能手环时间显示
2020/09/18 Javascript
关于Python的一些学习总结
2018/05/25 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
写景作文评语集锦
2014/12/25 职场文书
毕业设计致谢词
2015/05/14 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis