phpcms自定义表单添加验证码验证功能

在对应的表单模板 \phpcms\templates\default\formguide\show.html 中添加验证码显示


<form method="post" action="?m=formguide&c=index&a=show&formid=14&siteid=<?php echo $this->siteid;?>" name="myform" id="myform" class="mailForm">
<input type="text" placeholder="输入您的手机号码" name="info[mobile]" class="mailI" />
<textarea class="mailMain" placeholder="输入您的留言正文" name="info[content]"></textarea>
<input type="text" placeholder="输入您的姓名" name="info[name]" class="mailI" />
<input type="text" placeholder="输入您的邮箱" name="info[email]" class="mailI" style="margin-top:0.625rem;" />
<div class="yzmDiv clearfix">
<div class="yzmDivL">
<input type="text" id="code" name="code" size="8" class="yzmDivI">
</div>
<a class="yzmImg">{form::checkcode('code_img', '4', '14', 84, 24)}</a>
</div>
<button type="submit" name="dosubmit" id="dosubmit" class="msgLBtn">发表留言</button>
</form>

在 \phpcms\modules\formguide\index.php 中修改:

第四行加入 :  pc_base::load_sys_class('form', '', 0);

在类index中加入方法。

private function _session_start() {
   $session_storage = 'session_'.pc_base::load_config('system','session_storage');
   pc_base::load_sys_class($session_storage);
}

定义到

   if (isset($_POST['dosubmit'])) {

        $tablename = 'form_'.$r['tablename'];
          $this->m_db->change_table($tablename);

   在下方加入:

    //判断验证码
     $code = isset($_POST['code']) && trim($_POST['code']) ? trim($_POST['code']) : showmessage(L('input_code'));
     if ($_SESSION['code'] != strtolower($code)) {
      showmessage(L('code_error'));
     }

在类index里面的show()函数里第一行 加上$this->_session_start();

 

posted @ 2016-10-11 14:02  _DongGe  阅读(252)  评论(0编辑  收藏  举报