TP3.2如何实现在线留言提交验证码功能的实例分析

黄舟
Lepaskan: 2023-03-14 11:08:01
asal
1727 orang telah melayarinya

这篇文章主要为大家详细介绍了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>
Salin selepas log masuk

好 点击事件,name,提交按钮都改好了,走起,去控制器啦;

来到控制器这里,先做一件事,引入model吧:


use Otcms\Model;
Salin selepas log masuk

啥?没有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;),
 );
}
Salin selepas log masuk

设置验证码:

显示:


 public function verify(){

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

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

 }
Salin selepas log masuk

下面来写条件:


 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;);

   }
  }
 }
Salin selepas log masuk

图:

Atas ialah kandungan terperinci TP3.2如何实现在线留言提交验证码功能的实例分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan