phpcms自定义表单1 发送邮件

在phpcms\templates\default\formguide\模板里面增加show_email.html模板

{template "content","header_page"}
<link href="{CSS_PATH}table_form.css" rel="stylesheet" type="text/css" />
<link href="{CSS_PATH}dialog.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="{JS_PATH}dialog.js"></script>
<script src="{JS_PATH}new/jquery.validate.min.js" type="text/javascript"></script>
<script src="{JS_PATH}new/validate-methods.js" type="text/javascript"></script>
    <article class="">
    <header class="header box" >
        <a href="{siteurl($siteid)}" class="goBack"></a>
        <div class="b_f1 title">发送邮件</div>
        <a class="hSpace"></a>
    </header>
    <form method="post" action="?m=formguide&c=index&a=show&formid=15&siteid=<?php echo $this->siteid;?>" name="myform" id="myform"  class="mailForm">
        <p class="sendUrl">收信人:***@12.com</p>
        <section class="box mailM">
            <div class="b_f1">
                <input type="text" placeholder="输入您的邮箱" name="info[email]" class="mailI" />
                <input type="text" placeholder="输入邮件标题" name="info[title]" class="mailI" />
            </div>
            <button type="submit" name="dosubmit" id="dosubmit" class="sendBtn">发送</button>
        </section>
        <textarea class="mailMain" placeholder="输入您的邮件正文" name="info[content]"></textarea>
        <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>
    </form>
</article>
<script>
    /*表单验证*/
    $().ready(function() {
        // validate signup form on keyup and submit
        $("#mailForm").validate({
            rules: {
                email: {
                    required: true,
                    email: true
                },
                title: {
                    required: true
                },
                yzm: {
                    required: true
                }
            },
            messages: {
                email: {
                    required: "请输入您的邮箱",
                    email: "请输入正确的邮箱地址"
                },
                title: {
                    required: "请输入邮件标题"
                },
                yzm: {
                    required: "请输入验证码"
                }
            }
        });
    });
</script>
{template "content","footer_min"}

增加验证码验证

修改  \phpcms\templates\default\formguide\show.html 中添加验证码显示
<input type="text" id="code" name="code" size="8" class="input-text">{form::checkcode('code_img', '4', '14', 84, 24)}

在 \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();

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);
pc_base::load_sys_class('form', '', 0);
class index {
    private $db, $m_db, $M;
    function __construct() {
        $this->db = pc_base::load_model('sitemodel_model');
        $this->m_db = pc_base::load_model('sitemodel_field_model');
        $this->M = new_html_special_chars(getcache('formguide', 'commons'));
        $this->siteid = intval($_GET[siteid]) ? intval($_GET[siteid]) : get_siteid();
        $this->M = $this->M[$this->siteid];
        $this->_session_start();
    }
    private function _session_start() {
       $session_storage = 'session_'.pc_base::load_config('system','session_storage');
       pc_base::load_sys_class($session_storage);
    }

 

posted @ 2016-09-03 14:54  _DongGe  阅读(1119)  评论(1编辑  收藏  举报