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

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

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">{form::checkcode(‘code_img‘, ‘4‘, ‘14‘, 84, 24)}</span>请输入图片中的验证码</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);
   }
  }
时间: 2024-10-18 03:04:33

phpcms v9表单向导中怎么加入验证码的相关文章

PHPCMS V9表单向导调用及分页

参考资料如下:v9_form_tlj为你的表单数据表,`flqh`,`title`,`sj`,`username`,`datetime` 为你表单内的字段,page="$_GET"为分页代码,具体调用代码如下: <div class="box"> <h5>报名情况</h5> {pc:get sql="SELECT `flqh`,`title`,`sj`,`username`,`datetime` FROM `v9_for

phpcms v9表单实现问答咨询功能

本文转自别人 phpcms v9的留言板插件可以安装留言板,做问答咨询,那样的话有很多东西需要修改,也有人发现phpcms v9有个表单向导功能,只能留言,不能回复,今天仿站网:新源网络工作室告诉大家怎么用phpcms v9自带的表单向导实现这一功能: 第一步 新建一个表单向导,表名自定义 第二步 根据自己的需求建立相应的字段 这是前台的效果图 前台提交数据后,后台查看显示的效果是这样 第三步 这个也是最关键的一步,现在开始修改源程序 打开文件phpcms/modules/formguide/t

phpcms利用表单向导创建留言板(可以回复)

这篇博客写的很详细,可跳转到如下链接: http://blog.aiwebcom.com/%E7%BD%91%E7%AB%99%E5%BB%BA%E8%AE%BE/phpcms/456.html 注: 1.其中的sql语句需要根据自己的表做修改 2.如果在回复时无法回复文字,可把这句话删除  $answer=mb_convert_encoding($answer,'gbk','utf-8′);

phpcms v9 的表单向导功能的使用方法

本文主要介绍phpcms v9的表单向导功能是如何使用的,并副多个案例讲解: 先介绍一下v9 的表单向导如何使用 表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供网友填写个人信息的应聘表. 对于表单,默认的模板放在./phpcms/templates/default/formguide/.文件夹里面有三个文件index.html前台的表单列表,show.html单个表单展示,show_js.html表单插件; 表单作为一个功能性模块,往往是作为一个插件嵌入到

表单提交中get和post方式的区别

表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据. 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址.用户看不到这个过程. 3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Requ

表单提交中的重复问题(表单令牌验证)

在日常的表单提交中,如果由于网络或其他原因,很容易出现同一个表单提交多次,此时可以使用表单令牌验证 在提交的表单里,增加多一个隐藏数据,token,该token由后台脚本生成(如:php使用md5(rand(1,99999999))) 然后将生成的值保持至session或文本中,在表单提交中,对该token进行准确性认证,以确定表单提交的唯一性

Yii表单验证中,提交前验证,不通过不提交

$form = $this->beginWidget('CActiveForm',array(         'id' => 'add_host',         'enableAjaxValidation' => false,         'enableClientValidation' => true,         'clientOptions' => array(                 'validateOnSubmit' => true  

表单流程中一个节点是多人共同执行,每个执行人可以选择下一步要执行人员的实现思路

度量快速开发平台中,表单工作流是定义为简单快捷配置流程的一个工具,里面都是最常用的流程功能.现在有用户要求 在表单工作流中,有一个节点比如 “分管领导审批”,这个节点本身是可以多人共同执行的,需要实现每一个分管领导在审批后,都可以选择自己分管部门的负责人去落实办理.我们知道,表单工作流共同执行节点,之前执行是最后一个人执行完后,才流转到下一个步骤,选择人员.   那我们如何来实现用户的这个需求呢? 我们知道,度量快速开发平台中,高级工作流开发,可以实现任何的功能,无论是流程节点跳转,每个人执行的

form表单元素中disabled的元素的值不会提交到服务器

1.表单元素中disabled的元素的值不会提交到服务器,后台获取的值为null <form id="myForm" action="#" method="post"> <input name="username" disabled="disabled" /> <input type="submit" value="提交"/> &l