首页 > 代码库 > phpcms v9表单向导中怎么加入验证码
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); } } |
好了刷新下你的表单页面,随机码已经出来了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。