


TP3.2 Example analysis of how to implement online message submission verification code function
This article mainly introduces the verification code verification for writing and submitting in TP3.2 in detail. It has certain reference value. Interested friends can refer to
How to implement the verification code successful verification function. ? Submit verification code? This article gives you the answer.
Let me sort out what I have mastered today, otherwise I will forget everything:
When I was working on a corporate website today, there was an online message function, which I needed when submitting it at the end. enter confirmation code. As shown in the picture below:
Of course, the special connection is not my backend
Okay, here we go, first I need to display the verification code, Front-end page:
<p class="message-con clearfix"> <p class="mcon-left pic pull-left"><img class="vcenter lazy" src="/static/imghwm/default1.png" data-src="/Public/Admin/xx/images/message.png" alt="" /></p> <p 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="/static/imghwm/default1.png" data-src="{:U('verify')}" class="lazy" 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> </p> </p> </p>
The click event, name, and submit button have all been changed. Let’s go to the controller;
Come to the controller Here, do one thing first, introduce the model:
use Otcms\Model;
What? There is no model class. Write it yourself:
<?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','内容不可空!'), ); }
Set verification code:
Display:
public function verify(){ $config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 4, // 验证码位数 ); $verify = new\Think\Verify($config); $verify->entry(); }
Write the conditions below:
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('添加成功'); } } }
picture:
The above is the detailed content of TP3.2 Example analysis of how to implement online message submission verification code function. For more information, please follow other related articles on the PHP Chinese website!

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1
Easy-to-use and free code editor

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool
