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 Ajax乱码
Apr 09 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
Jun 10 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
Jan 09 PHP
Zend Framework开发入门经典教程
Mar 23 PHP
Yii2中SqlDataProvider用法示例
Sep 22 PHP
php封装json通信接口详解及实例
Mar 07 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 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
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
[00:10]神之谴戒
2019/03/06 DOTA
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Python将字典转换为XML的方法
2020/08/01 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
英国工具中心:UK Tool Centre
2017/07/10 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
德国购买门票网站:ADticket.de
2019/10/31 全球购物
为什么要有struct关键字
2012/05/08 面试题
标记环介质访问控制协议
2016/03/27 面试题
实习自我鉴定模板
2013/09/28 职场文书
土木工程个人自荐信范文
2013/11/30 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
python程序的组织结构详解
2021/12/06 Python