留言板


留言板的实现是基于前端绑定表单,下面给出直接的代码步骤,用于快速实现。

第一步,开启前端绑定表单的插件 couch/addons/kfunctions.php

通常开启三个:前端表单绑定,会话,邮件发送

require_once( K_COUCH_DIR.'addons/data-bound-form/data-bound-form.php' );
require_once( K_COUCH_DIR.'addons/cart/session.php' );
require_once( K_COUCH_DIR.'addons/phpmailer/phpmailer.php' );

第二步:新建msg.php,创建后台留言板字段

<?php require_once( 'couch/cms.php' ); ?>
<cms:template title="在线留言" clonable='1' order='90'>
    <cms:editable type='text' label='姓名' name='msg_name' required='1' order='5'/>
    <cms:editable type='text' label='地址' name='msg_address' required='1' order='10'/>
    <cms:editable type='text' label='电话' name='msg_tel' required='1' order='15'/>
    <cms:editable type='text' label='邮箱' name='msg_email' required='1' order='20'/>
    <cms:editable type='textarea' label='留言信息' name='msg_content' height='120' required='1' order='25'/>

    <cms:config_list_view orderby='weight' order='asc' searchable='1'>
        <cms:field 'k_selector_checkbox' />
        <cms:field 'msg_name' header='姓名' class='w100'/>
        <cms:field 'msg_tel' header='电话' />
        <cms:field 'msg_email' header='邮箱' />
        <cms:field 'msg_address' header='地址' />
        <cms:field 'msg_content' header='留言信息' />
        <cms:field 'k_page_date' header='发布时间' />
        <cms:field 'k_up_down' header='排序'/>
        <cms:field 'k_actions' header='操作'/>
    </cms:config_list_view>
    <cms:style>
        .w100{
            width: 100px;
        }
    </cms:style>

</cms:template>
<?php COUCH::invoke(); ?>

第三步:在任意其他页面创建提交表单:

<cms:set submit_success="<cms:get_flash 'submit_success' />" />
<cms:if submit_success>
    <script type="text/javascript">
        alert('您的留言发布成功!');
    </script>
</cms:if>
<div class="contact_form">
    <h2><cms:show contact_msg_title /></h2>
    <cms:form masterpage='msg.php' mode='create' enctype='multipart/form-data' method='post' anchor='0' id="contact_form" class="form_wrapper">
    <cms:if k_success>

        <!-- email submitted data -->
        <cms:send_mail from='shjdkj2023@163.com' to='contact@tex-construction.com' reply_to=frm_email subject='Contact Form tex-construction.com'>
            以下是您网站的客户留言:
            姓名: <cms:show frm_msg_name />,
            地址: <cms:show frm_msg_address />,
            邮箱: <cms:show frm_msg_email />,
            电话: <cms:show frm_msg_tel />
            留言: <cms:show frm_msg_content />
        </cms:send_mail>


        <!-- email submitted data -->
        <cms:db_persist_form _invalidate_cache='0' _auto_title='1' />
        <cms:set_flash name='submit_success' value='1' />
        <cms:redirect k_page_link />
    </cms:if>
    <div uk-grid class="uk-grid-small">
        <div class="uk-width-1-2@m">
            <div class="uk-inline uk-width-1-1">
                <span class="form_icon" uk-icon="icon: user"></span>
                <cms:input class="uk-input" name="msg_name" type="bound" required/>
            </div>
        </div>
        <div class="uk-width-1-2@m">
            <div class="uk-inline uk-width-1-1">
                <span class="form_icon" uk-icon="icon: receiver"></span>
                <cms:input class="uk-input" name="msg_tel" type="bound" required/>
            </div>
        </div>
        <div class="uk-width-1-2@m">
            <div class="uk-inline uk-width-1-1">
                <span class="form_icon" uk-icon="icon: location"></span>
                <cms:input class="uk-input" name="msg_address" type="bound" required/>
            </div>
        </div>
        <div class="uk-width-1-2@m">
            <div class="uk-inline uk-width-1-1">
                <span class="form_icon" uk-icon="icon: mail"></span>
                <cms:input class="uk-input" name="msg_email" type="bound" required/>
            </div>
        </div>
    </div>
    <div class="uk-margin uk-position-relative uk-width-1-1">
        <span class="form_icon_2" uk-icon="icon: commenting"></span>
        <cms:input class="uk-textarea" name="msg_content" type="bound" required/>
    </div>
    <cms:if '<cms:not submit_success />'>
    <div class="form_btn_wrapper uk-flex uk-flex-middle">
        <button type="submit" class="form_btn form_btn_submit">提交信息</button>
        <button type="reset" class="form_btn form_btn_reset">重置信息</button>
    </div>
    </cms:if>
    </cms:form>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#contact_form").submit(function(){
                //提交表单
                if(!$('#f_msg_name').val()){
                    alert("请填写姓名");
                    return false;
                }
                if(!$('#f_msg_tel').val()){
                    alert('请输入手机号');
                    return false;
                }
                if(!$('#f_msg_email').val()){
                    alert('请输入邮箱');
                    return false;
                }
                if(!$('#f_msg_content').val()){
                    alert('请输入留言信息');
                    return false;
                }
            });
        });
    </script>
</div>