Phpcms V9表单向导增加验证码方法

来自:互联网
时间:2018-08-26
阅读:
免费资源网 - https://freexyz.cn/

PHpcms v9默认会在会员注册登陆、后台管理登陆页面带有验证码,但是很多时候,我们希望验证码出现在表单提交、留言本里边,那么Phpcms v9的验证码怎么做到自由调用呢?在这里与大家分享一个旧的话题:Phpcms V9表单向导增加验证码方法,希望对有这方面需求的朋友能有个参考思路。

一、首先了解下Phpcms v9验证码的源头:

Phpcms v9验证码源自api/checkcode.php,看这个文件的具体代码,可以看出,验证码可以自定义验证码图片的宽度(width)、高度(height)、文字长度(code_len)、文字字号大小(font_size)、文字颜色(font_color)、背景色(background)这些属性,可谓考虑的比较全面了,至于具体的字体、干扰纹理多少,都可以通过修改程序文件做到修改。

二、Phpcms V9表单向导增加验证码方法

2.1、修改表单向导模块的文件:phpcmsmodulesformguideindex.php下第4行插入以下代码:

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

如下:

在大约55行$this->m_db->change_table($tablename);下面增加代码:

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);
   }
  }

这样,就完成了在Phpcms V9表单向导模块里边做好调用验证码的准备了。

2.2、前端模板调用:在留言表单的模板文件插入验证码。

修改表单js调用模版phpcmstemplatesdefaultformguideshow_js.html文件:

在表单循环{/loop}结束(大约23行)前加入代码:

<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>
免费资源网 - https://freexyz.cn/
返回顶部
顶部