帝国论坛帝国网站管理系统交流区帝国CMS使用交流[原创]帝国CMS会员功能修改之第三课-增加会员注册复选功能 【本版专题贴子】  
主题:[原创]帝国CMS会员功能修改之第三课-增加会员注册复选功能 [加入收藏夹]   

xjzb
用户头衔:举人 *

精华贴   :0
发贴数   :246
经验值   :1016
注册时间:2008-07-14
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]帝国CMS会员功能修改之第三课-增加会员注册复选功能
帝国CMS会员功能修改之第三课-增加会员注册复选功能

www.1573net.com原创,转载请务必保留此句.

目前帝国CMS的会员注册功能还不支持复选功能,在官方论坛上看了一部分文章,还是没有人能很好的解决这个问题,下面来看看我是如何解决的吧。

以字段行业为例,实现会员注册行业可以复选的功能。

1、 修改D:\EmpireServer\web\e\member\register\register.php

增加如下行业信息


<tr>

      <td height="25" bgcolor="#FFFFFF"> <div align='left'>行业</div></td>

      <td bgcolor="#FFFFFF">

◎工程类<BR>

<input name="hangye[]" type="checkbox" value="建筑工程|">建筑工程

<input name="hangye[]" type="checkbox" value="水利水电工程|">水利水电工程

<input name="hangye[]" type="checkbox" value="道路工程|">道路工程

<input name="hangye[]" type="checkbox" value="桥梁工程|">桥梁工程

<input name="hangye[]" type="checkbox" value="通信工程|">通信工程

     <input name="hangye[]" type="checkbox" value="矿山工程|">矿山工程

   ......


</td>

</tr>



这个是行业的具体复选字段信息,依靠手工添加。

2、修改\e\class\user.php

增加后台会员行业信息入库信息


199   //行业     2008-07-25 增加
       $hy="|";
       foreach($_POST['hangye'] as $c)
       {
              $hy.=$c;
       }
    //echo $hy;     
           $sql1=$empire->query("insert into {$dbtbpre}enewsmemberadd(userid,spacestyleid".$member_r[0].",hangye) values($userid,$spacestyleid".$member_r[1].",'$hy');");


这一段语句是将复选的行业的值增加到会员信息表中。

行业信息增加成功了,还有前台和后台会员行业信息修改的问题,下面来看看如何实现行业修改的。

增加前台会员修改行业复选入库  




671  //附加表

        //行业     2008-07-25 增加

           $hay="|";

              foreach($_POST['hangye'] as $c)

              {

                     $hay.=$c."|";

              }

              //echo $hay;



       if(empty($addr[userid]))

       {

              $sql1=$empire->query("insert into {$dbtbpre}enewsmemberadd(userid".$member_r[0].",hangye) values($userid".$member_r[1].",'$hy');");

    }

       else

       {

              $sql1=$empire->query("update {$dbtbpre}enewsmemberadd set userid='$userid'".$member_r[0].",hangye='$hay'   where userid='$userid'");

    }


www.1573net.com原创,转载请务必保留此句.

后台修改资料



198  //附加表

       //行业     2008-07-25 增加

           $hay="|";

              foreach($_POST['hangye'] as $c)

              {

                     $hay.=$c."|";

              }

              //echo $hay;



       if(empty($addr[userid]))

       {

              $sql1=$empire->query("insert into {$dbtbpre}enewsmemberadd(userid,spacestyleid".$member_r[0].",hangye) values($add[userid],$add[spacestyleid]".$member_r[1].",'$hy');");

    }

       else

       {

              $sql1=$empire->query("update {$dbtbpre}enewsmemberadd set spacestyleid=$add[spacestyleid]".$member_r[0].",hangye='$hay' where userid='$add[userid]'");

    }


前台和后台会员信息修改的文件还要做相应的修改来显示行业信息

前台会员信息修改文件的地址在D:\EmpireServer\web\e\member\EditInfo\index.php,在合适的位置加上如下代码,根据你的实际需要修改代码


  <tr>
      <td height="25" bgcolor="#FFFFFF"> <div align='left'>行业</div></td>
      <td bgcolor="#FFFFFF">
<?
$uaddr=$empire->fetch1("select * from {$dbtbpre}enewsmemberadd where userid='$user[userid]' limit 1");
?>
◎工程类<BR><input name="hangye[]" type="checkbox" value="建筑工程"<?=strstr($uaddr[hangye],"|建筑工程|")?' checked':''?>>建筑工程<input name="hangye[]" type="checkbox" value="水利水电工程"<?=strstr($uaddr[hangye],"|水利水电工程|")?' checked':''?>>水利水电工程<input name="hangye[]" type="checkbox" value="道路工程"<?=strstr($uaddr[hangye],"|道路工程|")?' checked':''?>>道路工程<input name="hangye[]" type="checkbox" value="桥梁工程"<?=strstr($uaddr[hangye],"|桥梁工程|")?' checked':''?>>桥梁工程<input name="hangye[]" type="checkbox" value="通信工程"<?=strstr($uaddr[hangye],"|通信工程|")?' checked':''?>>通信工程<input name="hangye[]" type="checkbox" value="矿山工程"<?=strstr($uaddr[hangye],"|矿山工程|")?' checked':''?>>矿山工程
   </td>
    </tr>

后台会员信息修改文件的地址在D:\EmpireServer\web\e\admin\member\AddMember.php,在合适的位置加上如下代码,根据你的实际需要修改代码


<tr bgcolor="#FFFFFF">
      <td height="25">行业</td>
      <td height="25">
◎工程类<BR><input name="hangye[]" type="checkbox" value="建筑工程"<?=strstr($addr[hangye],"|建筑工程|")?' checked':''?>>建筑工程<input name="hangye[]" type="checkbox" value="水利水电工程"<?=strstr($addr[hangye],"|水利水电工程|")?' checked':''?>>水利水电工程<input name="hangye[]" type="checkbox" value="道路工程"<?=strstr($addr[hangye],"|道路工程|")?' checked':''?>>道路工程<input name="hangye[]" type="checkbox" value="桥梁工程"<?=strstr($addr[hangye],"|桥梁工程|")?' checked':''?>>桥梁工程<input name="hangye[]" type="checkbox" value="通信工程"<?=strstr($addr[hangye],"|通信工程|")?' checked':''?>>通信工程<input name="hangye[]" type="checkbox" value="矿山工程"<?=strstr($addr[hangye],"|矿山工程|")?' checked':''?>>矿山工程 </td>
    </tr>

这样我们就实现了会员注册行业复选的功能。

这个方法唯一的缺点就是要通过修改三个文件来实现该功能,不能很方便的在后台进行操作,并且复选的字段是固定写在文字中的,修改字段的时候必须通过修改php文件来实现,不方便初学者,希望能在官方的下一个版本中看到会员复选功能的出现。

www.1573net.com原创,转载请务必保留此句.

演示请看
http://www.xjztb.com/e/member/register/
如果上面那个打开慢,就用这个
http://www.xjztb.com/e/member/register/

本文来自:一网情深(www.1573net.com)  原文链接:http://www.1573net.com/ecms/942.htm




2008-08-11 18:22:00 已设置保密 顶部 回复 引用 报告 编辑 删除

其实我是一个马甲
用户头衔:进士

精华贴   :0
发贴数   :717
经验值   :1943
注册时间:2008-05-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

很不错!感谢分享啊



如果还有来世的话,我只想当一只贝壳...
2008-08-11 21:00:11 已设置保密 顶部 回复 引用 报告 编辑 删除

gaoyong
用户头衔:进士 *

精华贴   :0
发贴数   :362
经验值   :1902
注册时间:2007-05-28
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

感谢分享啊




2008-08-12 03:09:16 已设置保密 顶部 回复 引用 报告 编辑 删除

神龙
用户头衔:进士

精华贴   :0
发贴数   :661
经验值   :3022
注册时间:2005-10-18
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

恩 不错支持






2008-08-12 09:25:14 已设置保密 顶部 回复 引用 报告 编辑 删除

aiuau
用户头衔:进士

精华贴   :0
发贴数   :1356
经验值   :3597
注册时间:2007-05-29
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

不错




2008-08-12 09:35:13 已设置保密 顶部 回复 引用 报告 编辑 删除

zxzl
用户头衔:进士

精华贴   :0
发贴数   :617
经验值   :2498
注册时间:2008-04-07
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

很不错,收藏了




2008-08-12 15:35:23 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1