帝国CMS反馈信息自定义模板页面并开启反馈验证码

发布日期 目录 帝国CMS信息系统

这两天使用帝国CMS做了个信息反馈页面。使用自定义模板做的自定义页面,因为不想用默认的地址,所以自己做的自定义页面,遇到了很多问题之后终于做成功了,现在把主要代码分享出来,我这里使用bootstrap简单做了下布局,线上页面地址:http://www.zhongchao188.com/feedback.html

解决问题:
1. 添加反馈验证码功能。在系统设置=>系统参数设置=>信息设置=>开启反馈验证码中开启验证码
2. 解决提交信息后返回后台默认反馈信息的页面。可返回自定义页面
3. 解决提交时提示“带*号为必填项”的问题:是因为缺少信息反馈分类的pid字段名
4. 通过自定义模板添加自定义页面

下面附上表单代码:


<form class="needs-validation" novalidate name='feedback' method='post' enctype='multipart/form-data' action='../../e/enews/index.php'>
<!-- AddFeedback 标识提交的为反馈信息 -->
<input name='enews' type='hidden' value='AddFeedback'>
<!-- 解决保存成功后跳回不到自定义页面的问题 -->
<input type="hidden" name="ecmsfrom" value="[!--news.url--]feedback.html">
<!-- 防止保存时提示必填项未填的错误,bid为信息反馈分类的pid -->
<input name="bid" type="hidden" value="1" />
<div class="form-group row">
<label for="formName" class="col-sm-2 col-form-label">姓名</label>
<div class="col-sm-10">
<input type="text" name='name' class="form-control" id="formName" placeholder="怎么称呼?[选填]">
</div>
</div>
<div class="form-group row">
<label for="formEmail" class="col-sm-2 col-form-label">邮箱</label>
<div class="col-sm-10">
<input type="text" name='email' class="form-control" id="formEmail" placeholder="联系邮箱?[选填]">
</div>
</div>
<div class="form-group row">
<label for="formQQ" class="col-sm-2 col-form-label">QQ</label>
<div class="col-sm-10">
<input type="text" name='qqcode' class="form-control" id="formQQ" placeholder="联系QQ?[选填]">
</div>
</div>
<div class="form-group row">
<label for="formTitle" class="col-sm-2 col-form-label">标题</label>
<div class="col-sm-10">
<select class="form-control" name='title' id="formTitle" required>
<option value="">请选择</option>
<option value="建议">建议</option>
<option value="反馈">反馈</option>
<option value="换友情链接">换友情链接</option>
</select>
<div class="invalid-feedback">
请选择标题
</div>
</div>
</div>
<div class="form-group row">
<label for="formText" class="col-sm-2 col-form-label">内容</label>
<div class="col-sm-10">
<textarea name="saytext" class="form-control" id="formText" rows="5" required placeholder="请输入内容...[必填]"></textarea>
<div class="invalid-feedback">
请输入内容
</div>
</div>
</div>

<!--
下面php代码控制
如果开启反馈验证码,则显示验证码代码,否则不显示
不过每次开启或关闭反馈验证码都需要重新刷新自定义页面
-->
<?php
if($public_r['fbkey_ok']) {
?>
<div class="form-group row">
<label for="formKey" class="col-sm-2 col-form-label">验证码</label>
<div class="col-sm-10">
<input name="key" type="text" size="6" class="form-control" id="formKey" placeholder="验证码" required style="width: 30%;display: inline-block;">
<img src="[!--news.url--]e/ShowKey/?v=feedback" align="absmiddle" id="fbKeyImg" onclick="fbKeyImg.src='[!--news.url--]e/ShowKey/?v=feedback&t='+Math.random()"
title="看不清楚,点击刷新" />&nbsp;&nbsp;<span class="text-info" style="cursor: pointer;" onclick="fbKeyImg.src='[!--news.url--]e/ShowKey/?v=feedback&t='+Math.random()">刷新</span>
<div class="invalid-feedback">
请输入验证码
</div>
</div>
</div>
<?php
}
?>

<div class="form-group row">
<label for="formText" class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<button type="submit" class="btn btn-primary" name='submit'>提交</button>
</div>
</div>
</form>

发表评论

邮箱地址不会被公开。