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+MSSQL分页的例子
Oct 09 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
基于php-fpm的配置详解
Jun 03 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
PHP中余数、取余的妙用
Jun 29 PHP
win7安装php框架Yii的方法
Jan 25 PHP
php文件上传后端处理小技巧
May 22 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
PHP中Trait及其应用详解
Feb 14 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
php session 预定义数组
2009/03/16 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
Node.js readline模块与util模块的使用
2018/03/01 Javascript
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
Python 处理文件的几种方式
2019/08/23 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
对python中各个response的使用说明
2020/03/28 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
python 安装移动复制第三方库操作
2020/07/13 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
运行时异常与一般异常有何异同?
2014/01/05 面试题
英文自荐信格式
2013/11/28 职场文书
单方投资意向书
2015/05/11 职场文书