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

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

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

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

 

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

在下面加入一行代码。

 

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)在第三行找到这行代码。

1
2
defined( 'IN_PHPCMS' ) or exit( 'No permission resources.' );
define( 'CACHE_MODEL_PATH' ,PHPCMS_PATH. 'caches' .DIRECTORY_SEPARATOR. 'caches_model' .DIRECTORY_SEPARATOR. 'caches_data' .DIRECTORY_SEPARATOR);

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

1
2
$session_storage =  'session_' .pc_base::load_config( 'system' , 'session_storage' );
pc_base::load_sys_class($session_storage);

2)找到下面这行代码

1
2
3
if  (isset($_POST[ 'dosubmit' ])) {
$tablename =  'form_' .$r[ 'tablename' ];
$ this ->m_db->change_table($tablename);

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

 

1
2
3
4
5
6
7
if (!empty($_SESSION[ 'code' ])) {
    //判断验证码
    $code = isset($_POST[ 'code' ]) && trim($_POST[ 'code' ]) ? trim($_POST[ 'code' ]) : showmessage(L( 'input_code' ), HTTP_REFERER);
    if  ($_SESSION[ 'code' ] != strtolower($code)) {
     showmessage(L( 'code_error' ), HTTP_REFERER);
    }
   }

 

好了刷新下你的表单页面,随机码已经出来了。

转载于:https://www.cnblogs.com/love0618/p/3744970.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值