首頁  >  文章  >  後端開發  >  TP3.2如何實現線上留言提交驗證碼功能的實例分析

TP3.2如何實現線上留言提交驗證碼功能的實例分析

黄舟
黄舟原創
2017-07-20 13:47:581720瀏覽

這篇文章主要為大家詳細介紹了TP3.2寫提交的驗證碼驗證,具有一定的參考價值,有興趣的小夥伴們可以參考一下

如何實現驗證碼成功驗證功能?提交驗證碼?這篇文章為大家解答。

把今天掌握的東西整理一下,要不然,我就忘乾淨了:

今天在做一個企業網站的時候,有一個在線留言的功能,最後提交的時候需要輸入驗證碼。如圖下:

當然,特連接的並不是我的後台

好了,開始了,首先我需要把驗證碼顯示出來,前端頁面:


<p class="message-con clearfix">
 <p class="mcon-left pic pull-left"><img src="/Public/Admin/xx/images/message.png" class="vcenter" alt="" /></p>
 <p class="mcon-right pull-right">
 <form method="post" action="{:U(&#39;validate&#39;)}" name=&#39;valiate&#39;> 
 <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(&#39;verify&#39;)}" onClick="this.src=this.src+&#39;?&#39;+Math.random();" alt="" />
  <a href="#" rel="external nofollow" >看不清楚?换一张</a><em>*</em></label>
 <label><input type="submit" class="msub" name="tj" value="在线提交" /></label>
 </form>
 </p>
 </p>
 </p>

好點擊事件,name,提交按鈕都改好了,走起,去控制器啦;

來到控制器這裡,先做一件事,引入model吧:


use Otcms\Model;

啥?沒有model類別  自己去寫:


<?php
namespace Otcms\Model;
use Think\Model;
class UserModel extends Model{
 protected $_validate = array(

  array(&#39;xingming&#39;,&#39;require&#39;,&#39;姓名不可空!&#39;),
  array(&#39;tel&#39;,&#39;require &#39;,&#39;手机号不可空!&#39;),
  array(&#39;dizhi&#39;,&#39;require&#39;,&#39;地址不可空!&#39;),
  array(&#39;youxiang&#39;,&#39; require&#39;,&#39;邮箱不可空!&#39;),
  array(&#39;content&#39;,&#39;require&#39;,&#39;内容不可空!&#39;),
 );
}

設定驗證碼:

顯示:


 public function verify(){

  $config = array(
   &#39;fontSize&#39; => 30, // 验证码字体大小
   &#39;length&#39;  => 4,  // 验证码位数
  );

  $verify = new\Think\Verify($config);
  $verify->entry();

 }

下面來寫條件:


 public function validate(){
  $date[&#39;xingming&#39;] = I(&#39;post.xingming&#39;);
  $date[&#39;tel&#39;] = I(&#39;post.tel&#39;);
  $date[&#39;dizhi&#39;] = I(&#39;post.izhi&#39;);
  $date[&#39;youxiang&#39;] = I(&#39;post.youxiang&#39;);
  $date[&#39;content&#39;] = I(&#39;post.content&#39;);
  $yzm = I(&#39;post.code&#39;);

  $fkyz = D("Liuyan");

  if (!$fkyz->create()){
   // 如果创建失败 表示验证没有通过 输出错误提示信息
   exit($fkyz->getError());

  }else{
  
   // 验证通过 可以进行其他数据操作
   $verify = new \Think\Verify();
   $yzmyz = $verify->check($yzm);

   if(!$yzmyz){

    $this->error(&#39;验证码错误&#39;);

   }
   else{
    $validate = M("liuyan");
    $validate->add($date);
    $this->success(&#39;添加成功&#39;);

   }
  }
 }

圖:

#

以上是TP3.2如何實現線上留言提交驗證碼功能的實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn