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