织梦留言板免插件模块开发教学独立用户组审核验证码

    发布时间:2019-02-19

    阅读量

    后台-系统设置-扩展变量-手机广告位-内容页头部广告位
    织梦留言板免插件模块开发教学【独立用户组审核,一键导出,验证码功能】

    这几次处理的案子里都有织梦留言板二次开发的需求,每次做二次开发都要针对每个问题找答案,索性在博客里开个帖子,将关于织梦留言板的所有问题都放在这个帖子里。

    织梦留言板添加
    1、登录dede后台,在【核心】—【频道维护】—【自定义表单】中根据需要创建需要的表单。

    2、点击【增加新的自定义表单】,添加在线留言表单。确定即可。
    注意:
    ①在这里只需要修改【自定义表单名称:】即可,其他的不需要修改。
    ②【前台列表和内容页公开?:】选择完全公开(这是暂时的,后面还要更改为不公开,因为这涉及到客户的信息,所以需要保密。

    3、上一步操作完之后,会返回自定义表单中,点击下面的修改按钮进行添加新字段。

    4、【填加新字段】就是添加所需要的:公司名称、姓名、性别、电话、邮件、留言内容等方面的。需要添加的选项可以根据自己需要来添加。

    添加新字段中,只需要填写带*的就可以了。其他的默认即可,如果能看懂其他的选项,根据自己的需要做选择也可以。
    5、确定之后,在【修改自定义表单】中就出现了刚添加的字段。添加更多的字段,重复第4步即可。
    注意:添加新字段留言内容的时候,因为内容可能比较多,所以最好选择【数据类型:】为【多行文本】
    6、字段完全添加好之后。

    dedecms织梦实现网页版在线留言功能

    7、在【自定义表单管理】中先进行【前台预览】。

    8、点击【发布信息】之后就能看到留言界面了。

    这一部分都是dede自带的默认模版,我们为了实现在线留言,可以把需要的部分摘出来,在相应的位置加入代码即可。

    代码摘取技巧:鼠标右键-查看源代码,找到相对于的代码即可。

    9、留言部分完整代码如下图。代码很简单,可以根据自己的需要进行修改,也可以直接复制使用。

    特别小技巧:对于用dede制作企业网站的朋友来说,下面的代码只需要在 联系我们 栏目内容中的源码中粘贴即可。不用修改任何代码。

    10、把相应的代码放到需要放置的位置。之后在【自定义表单管理】的【前台列表和内容页公开?:】选择【不公开】。(在上面第2步中有提醒)

    这样就只有管理员能看到留言内容。

    11、在相应栏目发布留言测试,之后,我们就可以在【自定义表单】的【在线留言】中看到相应的留言内容。删除测试留言就打工完成了。

    提示信息更改
    留言成功后会跳出Dedecms提示信息的页面,并停留在此页面一段时间。接下来我们来修改这个提示文字,并把留言成功后自动跳转到首页的设置方法:

    1,修改提示文字

    打开文件 include/common.func.php 在第215行左右有一个DedeCMS提示信息,直接修改为你想要的文字。

    2,跳转设置

    打开文件plus/diy.php 在第117行我们能看到 $goto = !empty($cfg_cmspath) ? $cfg_cmspath : ‘/’;
    将/修改为你想要的页面,如修改为首页 $goto = !empty($cfg_cmspath) ? $cfg_cmspath : ‘/index.html’;

    留言信息一键导出

    1、首先在后台修改/dede/templets/diy_main.htm

    <a href=”../plus/diy.php?action=daochu&diyid={dede:field.diyid/}” target=”_blank”>导出为EXCEL</a>

    修改,后台效果如下图:

    2、核心内容修改 plus/diy.php

    $action = isset($action) && in_array($action, array(‘post’, ‘list’, ‘view’)) ? $action : ‘post’;
    替换成:
    $action = isset($action) && in_array($action, array(‘post’, ‘list’, ‘view’, ‘daochu’)) ? $action : ‘post’;


    再在最后一行下面新加代码:
    当然,下面输出表头的判断语句你可以自己改!

    复制代码
    else if($action == ‘daochu’)
    {
    header(“Content-type:application/vnd.ms-excel”);
    Header(“Content-Disposition:attachment;filename={$diy->table}_”.date(“Y-m-d”).”.xls”);
    $query = “desc `{$diy->table}`”;
    $res = mysql_query($query);
    echo “<table><tr>”;
    //导出表头(也就是表中拥有的字段)
    while($row = mysql_fetch_array($res)){
    $t_field[] = $row[‘Field’]; //Field中的F要大写,否则没有结果
    /* echo “<th>”.$row[‘Field’].”</th>”; */
    if($row[‘Field’]==’id’){
    echo “<th>ID</th>”;
    }elseif($row[‘Field’]==’zhaiwutype’){
    echo “<th>债务类型</th>”;
    }elseif($row[‘Field’]==’zhaiquanfang’){
    echo “<th>债权方</th>”;
    }elseif($row[‘Field’]==’name’){
    echo “<th>名称</th>”;
    }elseif($row[‘Field’]==’jigouhaoma’){
    echo “<th>身份证号/机构代码</th>”;
    }elseif($row[‘Field’]==’path’){
    echo “<th>住址/地址</th>”;
    }elseif($row[‘Field’]==’tel’){
    echo “<th>联系电话</th>”;
    }elseif($row[‘Field’]==’zhaiwufang’){
    echo “<th>债务方</th>”;
    }elseif($row[‘Field’]==’zhaiwufangname’){
    echo “<th>债务方名称</th>”;
    }elseif($row[‘Field’]==’zhaiwufanghaoma’){
    echo “<th>债务方身份证号/机构代码</th>”;
    }elseif($row[‘Field’]==’zhaiwufangpath’){
    echo “<th>债务方地址</th>”;
    }elseif($row[‘Field’]==’zhaiwufangtel’){
    echo “<th>债务方电话</th>”;
    }elseif($row[‘Field’]==’danbaofang1′){
    echo “<th>担保方</th>”;
    }elseif($row[‘Field’]==’danbao1name’){
    echo “<th>担保方名称</th>”;
    }elseif($row[‘Field’]==’danbao1haoma’){
    echo “<th>身份证号/机构代码</th>”;
    }elseif($row[‘Field’]==’danbao1tel’){
    echo “<th>联系电话</th>”;
    }elseif($row[‘Field’]==’zhaiwushuoming’){
    echo “<th>债务说明</th>”;
    }elseif($row[‘Field’]==’fayuanzhixing’){
    echo “<th>法院是否强制执行</th>”;
    }elseif($row[‘Field’]==’zhixingfayuan’){
    echo “<th>执行法院</th>”;
    }elseif($row[‘Field’]==’lianxiren’){
    echo “<th>联系人</th>”;
    }elseif($row[‘Field’]==’lianxidianhua’){
    echo “<th>电话</th>”;
    }elseif($row[‘Field’]==’zhaiwujine’){
    echo “<th>债务金额</th>”;
    }elseif($row[‘Field’]==’nativeplace1′){
    echo “<th>住址/地址</th>”;
    }elseif($row[‘Field’]==’jiamengtype’){
    echo “<th>加入类型</th>”;
    }elseif($row[‘Field’]==’groupname’){
    echo “<th>公司(机构)名称</th>”;
    }elseif($row[‘Field’]==’grouppath’){
    echo “<th>公司地址</th>”;
    }elseif($row[‘Field’]==’groupjianjie’){
    echo “<th>公司简介</th>”;
    }elseif($row[‘Field’]==’lianxiren’){
    echo “<th>联系人</th>”;
    }elseif($row[‘Field’]==’lianxitel’){
    echo “<th>联系电话</th>”;
    }elseif($row[‘Field’]==’lianximobile’){
    echo “<th>手机</th>”;
    }elseif($row[‘Field’]==’qq’){
    echo “<th>QQ</th>”;
    }elseif($row[‘Field’]==’name’){
    echo “<th>姓名</th>”;
    }elseif($row[‘Field’]==’xingbie’){
    echo “<th>性别</th>”;
    }elseif($row[‘Field’]==’nianling’){
    echo “<th>年龄</th>”;
    }elseif($row[‘Field’]==’danwei’){
    echo “<th>工作单位</th>”;
    }elseif($row[‘Field’]==’zhiwu’){
    echo “<th>职务</th>”;
    }elseif($row[‘Field’]==’dianhua’){
    echo “<th>联系电话</th>”;
    }elseif($row[‘Field’]==’mobile’){
    echo “<th>手机</th>”;
    }elseif($row[‘Field’]==’mail’){
    echo “<th>E-mail</th>”;
    }elseif($row[‘Field’]==’ifcheck’){
    echo “<th> </th>”;
    }else{
    echo “<th> </th>”;
    }
    }
    echo “</tr>”;
    //导出数据
    $sql = “select * from `{$diy->table}`”;
    $res = mysql_query($sql);
    while($row = mysql_fetch_array($res)){
    echo “<tr>”;
    foreach($t_field as $f_key){
    echo “<td>”.$row[$f_key].”</td>”;
    }
    echo “</tr>”;
    }
    echo “</table>”;
    }

    单独建立查看留言的用户组

    1、打开\dede\inc\grouplist.txt

    添加

    >>自定义表单
    >f_List>列出表单
    >f_New>新建表单
    >f_Edit>编辑表单
    >f_MyList>表单内容
    这段代码

    2、进入DEDE cms后台,打开,系统>用户组设定>增加一个用户组

    这里我增加了一个“表单管理员”
    3、你可以看到有了表单管理项了,选择好管理项。建一个新的用户组
    4、在频道管理员的后台菜单那里,把自定义表单的入口列出来

    打开 dede/inc/inc_menu.php

    在常用操作栏(102行),
    <m:top item=’1_’ name=’常用操作’ display=’block’>下面
    添加如下代码:
    <m:item name=’自定义表单’ link=’diy_main.php’ rank=’f_List,f_New,f_Edit,f_MyList’ target=’main’ />

    5、打开dede/diy_add.php(新增表单)

    找到代码:CheckPurview(‘c_New’);
    改为:CheckPurview(‘f_List,f_New,f_Edit,f_MyList’);

    6、打开dede/diy_main.php(列出表单)

    找到代码:CheckPurview(‘c_List’);
    改为:CheckPurview(‘f_List,f_New,f_Edit,f_MyList’);

    7、打开dede/diy_list.php(表单内容)

    找到代码:CheckPurview(‘c_New’);
    改为:CheckPurview(‘f_MyList’);

    8、打开dede/diy_edit.php(编辑表单)

    找到代码:CheckPurview(‘c_Edit’);
    改为:CheckPurview(‘f_Edit’);

    9、新建一个只能管理表单的用户,【用户组设定】选择:表单管理员

    10、然后注销,重新登录新用户,你就会发现只能看自定义表单的内容,其它功能用不了。

    可以跟剧需要开放自定义表单的以下权限。
    列出表单
    新建表单
    编辑表单
    表单内容

    为留言板添加验证码功能

    验证码是必须得添加的,不然网站会有很多灌水出现

    1、打开根目录下 /plus/diy.php 文件

    查找$fieldarr = explode(‘;’, $dede_fields);

    在这一句的前面添加下面的代码

    if(!emptyempty($dede_fields))
    {
    $validate = emptyempty($validate) ? ” : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());
    if(($validate==” || $validate != $svali) && preg_match(“/6/”,$safe_gdopen)){ ResetVdValue();
    ShowMsg(‘验证码不正确!’,$dede_add,0,1000);
    exit;
    }
    }


    2、保存之后,还要在模板你添加表单的页面添加下面的代码,这个代码是显示验证码跟输入验证码的,放在表单里面

    <input name=”validate” type=”text” id=”vdcode” style=”text-transform:uppercase;” size=”8″/>
    <img id=”vdimgck” align=”absmiddle” onClick=”this.src=this.src+’?'” style=”cursor: pointer;” alt=”看不清?点击更换” src=”../include/vdimgck.php”/>
    <a href=”javascript:vide(-1);” onClick=”changeAuthCode();”>看不清? </a>


    3、添加完之后,还要在本页面添加JS代码,以下代码可以放在网页底部

    <script type=”text/javascript” language=”javascript”>

    //验证码

    function changeAuthCode() {
    var num = new Date().getTime();
    var rand = Math.round(Math.random() * 10000);
    num = num + rand;
    $(‘#ver_code’).css(‘visibility’,’visible’);
    if ($(“#vdimgck”)[0]) {
    $(“#vdimgck”)[0].src = “../include/vdimgck.php?tag=” + num;
    }
    return false;
    }
    </script>

     
    后台-系统设置-扩展变量-手机广告位-内容页头部广告位
    留言与评论(共有 0 条评论)
       
    验证码: