PHPCMS v9表单向导中怎么加入验证码
2024-08-24 11:08:59
表单想到比较简单,所以没有加入验证码的功能。网上的类似教程又大多数不准确。所以亲自测试了一下,发现下面的方法是可用的。希望对有需求的朋友们有所帮助。
1.首先是调用表单的页面加入验证码。表单js调用模版默认的是 \phpcms\templates\default\formguide\show_js.html.
在该文件里面找到这行代码,大概在23行
<tr>
<th width="80">{if $info['star']} <font color="red">*</font>{/if} {$info['name']}
</th>
<td>{$info['form']} {$info['tips']}</td>
</tr>
{/loop}
在下面加入一行代码。
<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">
请输入图片中的验证码
</td>
</tr>
2.找到这个文件 \phpcms\modules\formguide\index.PHP
这个需要修改两处
1)在第三行找到这行代码。
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);
然后在后面加入下面两行代码
$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);
2)找到下面这行代码
if (isset($_POST['dosubmit'])) {
$tablename = 'form_'.$r['tablename'];
$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);
}
}
最新文章
- Entity Framework教程(第二版)
- BZOJ 2716: [Violet 3]天使玩偶
- handsontable组件和jqwidgets(jqxdragdrop组件)在一个页面产生调整宽高bug
- Cluster analysis
- Machine Learning - 第3周(Logistic Regression、Regularization)
- 重回cnblogs
- 修改linux用户密码
- Sublime Text 3插件之SublimeTmpl:新建文件的模版插件
- iOS 应用性能测试的相关方法、工具及技巧
- Web Services的相关名词解释:WSDL与SOAP
- Android 图片平铺效果实现的3种方法
- HTML5 画布参考
- [Android学习笔记]Bitmap,BitmapDrawable,BitmapFactory学习笔记
- 微软Visual Studio &;quot;14&;quot; CTP 2 公布
- JAVA中计算两个时间相差多少 天,时,分,秒
- Linux格式化硬盘 常用命令小记
- 深入探索C++对象模型(五)
- 记小白的一次基于vue+express+mongodb个人站开发
- 线性代数之行列式的C#研究实现
- Intellij Idea 无法启动项目的配置坑
热门文章
- (Nagios)-check_hpasm[HP]
- Filter(过滤器)与Interceptor(拦截器)的区别
- ORA-12541:TNS:无监听程序问题
- [转]Javascript removeChild()删除节点及删除子节点的方法(同样适用于jq)
- Flink的部署
- Python语言发展的关键时间节点
- python 两个面试题
- rails中发送ajax请求
- LeetCode初级算法的Python实现--链表
- 四则运算_EX