phpcms v9表单向导中怎么加入验证码

本文介绍了一种在表单中加入验证码的具体实现方法,包括如何在表单展示页面添加验证码图片及输入框,并在后端验证用户输入的验证码是否正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表单想到比较简单,所以没有加入验证码的功能。网上的类似教程又大多数不准确。所以亲自测试了一下,发现下面的方法是可用的。希望对有需求的朋友们有所帮助。

1、首先是调用表单的页面加入验证码。表单js调用模版默认的是 \phpcms\templates\default\formguide\show_js.html.

在该文件里面找到这行代码,大概在23行

[php]  view plain  copy
  1. <tr>  
  2.       <th width="80">{if $info['star']} <font color="red">*</font>{/if} {$info['name']}  
  3.       </th>  
  4.       <td>{$info['form']}  {$info['tips']}</td>  
  5.     </tr>  
  6. {/loop}  

在下面加入一行代码。

[php]  view plain  copy
  1. <tr><td style="text-align:right;">验证码</td><td colspan="2"><span title="点击更换验证码" style=" cursor:pointer;"><input type="text" id="code" name="code" size="8" class="input-text">{form::checkcode('code_img''4''14', 84, 24)}</span>请输入图片中的验证码</td></tr>  

2、找到这个文件 \phpcms\modules\formguide\index.php

这个需要修改两处

1)在第三行找到这行代码。

[php]  view plain  copy
  1. defined('IN_PHPCMS'or exit('No permission resources.');  
  2. define('CACHE_MODEL_PATH',PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);  

然后在后面加入下面两行代码

[php]  view plain  copy
  1. $session_storage = 'session_'.pc_base::load_config('system','session_storage');  
  2. pc_base::load_sys_class($session_storage);  

2)找到下面这行代码
[php]  view plain  copy
  1. if (isset($_POST['dosubmit'])) {  
  2. $tablename = 'form_'.$r['tablename'];  
  3. $this->m_db->change_table($tablename);  

然后在下面加入下面这段代码

[php]  view plain  copy
  1. if(!empty($_SESSION['code'])) {  
  2.    //判断验证码  
  3.    $code = isset($_POST['code']) && trim($_POST['code']) ? trim($_POST['code']) : showmessage(L('input_code'), HTTP_REFERER);  
  4.    if ($_SESSION['code'] != strtolower($code)) {  
  5.     showmessage(L('code_error'), HTTP_REFERER);  
  6.    }  
  7.   }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值