首页 > 后端开发 > 正文

php框架验证码出现错误 如何解决thinkphp5中验证码常见问题

2023-10-05 11:07:17 | 我爱编程网

我爱编程网小编给大家带来了php框架验证码出现错误 如何解决thinkphp5中验证码常见问题相关文章,一起来看一下吧。

php框架验证码出现错误 如何解决thinkphp5中验证码常见问题

thinkPHP3.2.3利用Ajax前台实现验证码验证,但通过form表单的按钮提交后,验证码一直错误!如何解决?

验证码一直错误那就是:后台生成的和前台显示的不是同一个验证码,你可以把后台生成的打印出来测试一下。

1:验证码生成代码:
//输入验证码
function verifyimg(){
//验证码做配置
$config = array(
'seKey' => 'ThinkPHP.CN', // 验证码加密密钥
'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码字符集合
'expire' => 1800, // 验证码过期时间(s)
'useZh' => false,
'useImgBg' => false, // 使用背景图片
'fontSize' => 14, // 验证码字体大小(px)
'useCurve' => true, // 是否画混淆曲线
'useNoise' => true, // 是否添加杂点
'imageH' => 45, // 验证码图片高度
'imageW' => 100, // 验证码图片宽度
'length' => 4, // 验证码位数
'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
'bg' => array(243, 251, 254), // 背景颜色
'reset' => true, // 验证成功后是否重置
);

$verify=new Verify($config); //实例化Verify类。 空间类元素引入。使用次数多的情况下。
//verify= new \Think\Verify 完全限定名称方式。 使用次数少的情况下。
$verify->entry(); //数据验证码。
}
2.下面的是一段验证码显示代码:
<ul>
<li class="user_main_text">验证码: </li>
<li class="user_main_input">
<input class="TxtValidateCodeCssClass" id="captcha" name="captcha" type="text">
验证码输出
<img src="{$smarty.const.__CONTROLLER__}/verifyimg" onclick="this.src='{$smarty.const.__CONTROLLER__}/verifyimg/'+Math.random()" alt="" />
</li>
</ul>
希望对你有帮助。

php框架验证码出现错误 如何解决thinkphp5中验证码常见问题

如何解决thinkphp5中验证码常见问题

第一个问题就是:
提示Call to undefined function captcha_src()。这是因为我们的扩展目录不存在验证文件。我们采用comoser进行安装(这里就介绍这一种了)或者采用直接到官网下载完版本的。
在我们的vendor目录下运行如下命令。
composer require topthink/think-captcha

接下来,我们的目录下会出现如下目录。

第二个问题:如果图片路径错误问题,按照如下图片所示添加内容。

第三个问题:配置项配置不正确。找到我们的config.php文件添加将下面的参数值设置为true。
'url_route_on' => true,

好了,设计到的问题已经介绍完了,不知道为你解决没?如果没欢迎骚扰。

php框架验证码出现错误 如何解决thinkphp5中验证码常见问题

如何解决thinkphp5中验证码常见问题

  1. 在项目目录下面生成captcha扩展 (需要安装composer来安装)

  2. composer require topthink/think-captcha

  3. 2 安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步操作

  4. 配置comfig.php文件:在comfig.php下面加个扩展

  5. //验证码

  6. 'captcha'=> [

  7. //字符集合

  8. 'codeset'=>'23456780qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM',

  9. //字体大小

  10. 'fontSize' => 18,

  11. //是否花混淆曲线

  12. 'useCurve' => true,

  13. //图片高度

  14. 'imageH' => 40,

  15. //图片宽度

  16. 'imageW' => 130,

  17. //位数

  18. 'length' => 4, 我爱编程网

  19. //验证成功后是否重置

  20. 'reset' => true,

  21. ],

  22. 3.刷新验证码功能  src路径在这里可以用框架自带的也可以直接访问img方法

  23. <img id="captcha_img" src="{:captcha_src()}" alt="验证码" onclick="refreshVerify()"><a

  24. href="javascript:refreshVerify()">点击刷新</a>

  25. 在js《script》标签部分加上刷新事件

  26. function refreshVerify()

  27. {

  28. var ts = Date.parse(new Date() )/1000;

  29. console.log(ts);

  30. $('#captcha_img').attr('src','/captcha?id='+ts);

  31. }

  32. 4.在控制器里用TP验证自带的方法

  33. 在你的登录的控制器里面加入

  34. 4.1在头部引入 use think\captcha\Captcha;

  35. //该方法引入img图像  宽高可以再img用css直接控制!

  36. public function img() {

  37. $captcha = new Captcha();

  38. return $captcha->entry();

  39. }

  40. // 检测输入的验证码是否正确,$code为用户输入的验证码字符串,$id多个验证码标识

  41. function check_verify($code, $id = ''){

  42. $captcha = new Captcha();

  43. return $captcha->check($code, $id);

  44. }这个方法下面的验证要用到

  45. 在你的form验证码值发送的方法里加入 post提交 GET提交就把post改成get  表单验证码name是code

  46. $request=request();

  47. if ($request->isPost()){

  48. if($request->post('code')){

  49. if($this->check_verify($request->post('code'))){

  50. $message= '验证成功';

  51. }else{

  52. $message= '验证错误';

  53. }

  54. }else{

  55. $message= '没有输入验证码';

  56. }

  57. }

  58. 照以上做没有任何问题

以上就是我爱编程网小编给大家带来的php框架验证码出现错误 如何解决thinkphp5中验证码常见问题,希望能对大家有所帮助。
与“php框架验证码出现错误 如何解决thinkphp5中验证码常见问题”相关推荐
php框架yaf验证码 php如何做验证码
php框架yaf验证码 php如何做验证码

怎么样能够让php生成4位数字验证码PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有:1、产生一张png的图片;2、为图片设置背景色;3、设置字体颜色和样式;4、产生4位数的随机的验证码;5、把产生的每...php如何做验证码php验证码制作是对php基本功的考核,php验证码制作必需开启gd库,因为要

2023-09-24 14:52:48
php验证码框架 如何用PHP生成验证码
php验证码框架 如何用PHP生成验证码

使用thinkPHP3.2.3框架调用验证码不显示应该怎么解决缺少src="{:U('Admin/Index/show')}"设置'URL_ROUTER_ON'=&gt;true,阻止submit提交行为、用js设置了e.preventDefault();可还会提交上去。&lt;formonsubmit="returnfalse"id="form"&gt;或者用JS绑定ons

2023-09-18 17:03:16
php框架验证码上传 如何用PHP生成验证码
php框架验证码上传 如何用PHP生成验证码

thinkphp中验证码,本地测试验证码显示,上传到服务器就不显示了,是什么问题这个问题建议你查询一下PHP带的GD库有没有打开,Windows的话看下dll那块,Apache的看下mod那块,如果有这个dll或者so,去php.ini里面看下gd相关的dll或者so有没有被启用就好了,关了就开起来,如果开起来还是没有好,那我建议你修改验证码方案,使用类似极验验证的解决方案,他是外置的,我之

2023-09-25 17:00:17
php框架出现中文乱码 如何解决php的数据库中文乱码问题
php框架出现中文乱码 如何解决php的数据库中文乱码问题

php都是乱码怎么办php乱码的解决办法:1、设置数据库和保存文件的编码为“utf8”;2、保存文件时修改编码;3、使用“mb_convert_encoding”函数进行转码;4、设置数据库的存储编码为“utf8”。推荐:《PHP视频教程》PHP出现乱码,解决乱码的方法一,出现乱码的原因分析1,保存文件时候,文件有自己的文件编码,就是汉字,或者其他国语言,以什么编码来存储

2023-09-28 20:22:35
php框架下验证码登录 php如何写注册登录验证码
php框架下验证码登录 php如何写注册登录验证码

PHP中模拟登录的验证码问题应该如何解决基本思路:首先获取一个cookies值,再带着这个cookies去获取验证码图片,你再带着验证码值和登录数据去模拟post登录。下面是一个模拟获取验证码的。这里忽略获取cookies的过程。注意文件为UTF-8无BOM格式?phpheader('Content-Type:image/png');$url = "";//图片链接$ch

2023-10-05 02:56:26
php框架中怎么引用验证码 php 验证码 使用
php框架中怎么引用验证码 php 验证码 使用

php验证码使用你访问 你地址/上述程序的文件名.php?action=verifycode这样就可以看到图片了,同理插入到登录框用&lt;img src="你地址/上述程序的文件名.php?action=verifycode"/&gt;就可以了-------------------------leboc代码你都没看懂,$_GET["action"]=="ve

2023-10-06 13:10:50
php框架错误如何解决 PHP框架Phalcon 兼容问题
php框架错误如何解决 PHP框架Phalcon 兼容问题

php的YII框架的问题php的YII框架的问题手动装一次,PHP+MYSQL+APACHE我的QQ群的问题你可以设定现金奖励。比如每天丢掷一个聊天话题给大家讨论或辩论,你会挑选出答辩最好的奖励,然后每天再丢掷一个猜测性的话题,猜中的也可以奖励。再每天释出一些笑话,实时新闻话题等。再看看群里是些什么人,选择不同的话题聊。慢慢地会活跃起来。JDBC中的Statemen

2023-10-05 18:23:00
php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?
php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?

如何解决thinkphp5中验证码常见问题在项目目录下面生成captcha扩展(需要安装composer来安装)composerrequiretopthink/think-captcha2安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步操作配置comfig.php文件:在comfig.php下面加个扩展//验证码

2023-09-16 15:11:04