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 相关文章推荐
WINDOWS服务器安装多套PHP的另类解决方案
Oct 09 PHP
在IIS上安装PHP4.0正式版
Oct 09 PHP
PHP 导出数据到淘宝助手CSV的方法分享
Feb 27 PHP
zen cart新进商品的随机排序修改方法
Sep 10 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
Jun 25 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
thinkPHP模板中函数的使用方法示例
Nov 30 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
Aug 17 PHP
PHP 8新特性简介
Aug 18 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
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
一些使用频率比较高的php函数
2008/10/03 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
php格式文件打开的四种方法
2018/02/24 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
在Python中操作字典之update()方法的使用
2015/05/22 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
Python 获取ftp服务器文件时间的方法
2019/07/02 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
python getopt模块使用实例解析
2019/12/18 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
2020/05/25 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
MADE法国:提供原创设计师家具
2018/09/18 全球购物
Lentiamo荷兰:在线订购隐形眼镜、隐形眼镜液和太阳镜
2019/10/25 全球购物
最新远光软件笔试题面试题内容
2013/11/08 面试题
物理专业大学生职业生涯规划书
2014/02/07 职场文书
高中军训感言1000字
2014/03/01 职场文书
委托书模板
2014/04/04 职场文书
文秘求职信范文
2014/04/10 职场文书
企业年检委托书范本
2014/10/14 职场文书
2014年共青团工作总结
2014/12/10 职场文书