最近在研究dedecms需要前台页面不允许会员注册,而会员帐号是管理员在后台添加的,首先我们得在后台的栏目选项中有会员添加这一栏目;

1:在dede/inc的文件夹下面找到inc_memu.php;找到会员那个栏目,加一行:<m:item name='会员添加管理' link='member_add.php' rank='member_List' target='main' />

2:创建会员添加的htm页面:我自己命名为:member_add.htm,这个页面是后台页面,所以在dede/templets里面;

member_add.htm页面代码:

<html>
<head>
<meta charset="utf-8">
<title>添加会员</title> <link href='img/base.css' rel='stylesheet' type='text/css'>
<script language='javascript' src='../data/enums/area.js'></script>
<script> function checkSubmit() {
if(document.form2.email.value=="") {
document.form2.email.focus();
alert("Email不能为空");
return false;
}
if(document.form2.uname.value=="") {
document.form2.uname.focus();
alert("用户昵称不能为空");
return false; }
}
</script>
</head>
<body leftmargin='8' topmargin='8'>
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#D1DDAA">
<tr>
<td height="19" background="img/tbg.gif"><a href='<?php echo $ENV_GOBACK_URL; ?>'>
<b>会员管理 </b></a> 添加会员
</td>
</tr>
<tr>
<td height="200" bgcolor="#FFFFFF" align='center'>
<table width="98%" border="0" cellspacing="0" cellpadding="6" >
<tr> <td colspan="2" height="10" >
</td>
</tr>
<form name="form2" action="member_add.php" method="post" onSubmit="return checkSubmit();">
<input type="hidden" name="dopost" value="add" />
<tr>
<td width="17%" align="right" class='bline'>用户名</td>
<td width="83%" class='bline'>
<input name="userid" type="text" value="" id="userid" size="20" style="width:150px;height:20px" /> </td>
</tr>
<tr>
<td align="right" class='bline'>用户密码</td>
<td class='bline'> <input type="password" name="pwd" id="pwd" style="width:150px;height:20px"/> </td>
</tr>
<tr>
<td align="right" class='bline'>用户类型</td>
<td class='bline'> <?php echo $row['mtype']; ?>
<input type="radio" name="mtype" class="np" value="个人" checked='1'/> 个人 <input type="radio" name="mtype" class="np" value="企业" />企业 </td>
</tr>
<tr>
<td align="right" class='bline'>电子邮箱</td>
<td class='bline'> <input name="email" type="text" id="email" value="<?php echo $row['email']?>" style="width:150px;height:20px" /> </td>
</tr>
<tr>
<td align="right" class='bline'>用户昵称</td>
<td class='bline'> <input name="uname" type="text" value="<?php echo $row['uname']?>" id="uname" size="20" style="width:150px;height:20px" /> </td>
</tr>
<tr> <td align="right" class='bline'>性别</td> <td class='bline'>
<input type="radio" name="sex" class="np" value="男" checked='1'/> 男
<input type="radio" name="sex" class="np" value="女" /> 女
<input type="radio" name="sex" class="np" value="" /> 保密 </td>
</tr>
<tr>
<td align="right" class='bline'>等级</td>
<td class='bline'>
<?php
$MemberTypes = '';
$dsql->SetQuery("Select rank,membername From `dede_arcrank` where rank>0");
$dsql->Execute('n');
$MemberTypes[0] = "限制会员";
while($nrow = $dsql->GetObject('n')){ $MemberTypes[$nrow->rank] = $nrow->membername; }
$options = "<select name='rank' style='width:80px'>\r\n";
foreach($MemberTypes as $k=>$v) {
$v=iconv('gb2312', 'utf-8', $v);
if($k!=$row['rank']) $options .= "<option value='$k'>$v</option>\r\n"; else $options .= "<option value='0' selected>限制会员</option>\r\n"; } $options .= "</select>\r\n"; echo $options; ?></td>
</tr>
<tr> <td align="right" class='bline'>有效时间</td> <td class='bline'>
<input type="radio" name="exptime" class="np" value="30" /> 一个月
<input type="radio" name="exptime" class="np" value="7" checked='1'/> 一周
<input type="radio" name="exptime" class="np" value="1" /> 一天 </td>
</tr>
<tr>
<td height="67" align="right" ></td> <td height="67" >
<input type="submit" name="Submit" value="确定添加" class='coolbg' />
<input type="reset" name="Submit22" value="重置表单" class='coolbg' /> </td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>

3:htm页面有了,那么我们需要在dede文件夹下面创建member_add.php页面来写php代码了

member_add.php代码:

<?php
require(dirname(__FILE__)."/config.php");
$ENV_GOBACK_URL = isset($_COOKIE['ENV_GOBACK_URL']) ? "member_main.php" : '';
if($dopost=="add"){
$jointime = $logintime = time();
$loginip = $joinip = GetIP();
$userid=$userid;
$pwd=$pwd;

//因为dedecms默认是的GB2312,所以这里需要将用户类型和用户性别转话为GB2312格式,否则数据库是存储不了的
$mtype=iconv('utf-8', 'gb2312', $mtype);
$sex=iconv('utf-8', 'gb2312', $sex);

//如果管理员没有给会员userid和密码,那么这里系统会随机给会员一个帐号和密码
if($userid==""){
$string="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for($i=0;$i<5;$i++){
$userid.= $string[rand(0,strlen($string)-1)];
}
}

if($pwd==""){
$password="abcdefghijklmnopqrstuvwxyz1234567890";
for($i=0;$i<6;$i++){
$pwd.= $password[rand(0,strlen($password)-1)];
}

}

$uname = HtmlReplace($uname, 1);
if($cfg_mb_wnameone=='N'){
$row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE uname LIKE '$uname' ");
if(is_array($row))
{
ShowMsg('用户笔名或公司名称不能重复!', '-1');
exit();
}
}

if(!CheckEmail($email))
{
ShowMsg('Email格式不正确!', '-1');
exit();
}
#api{{
if(defined('UC_API') && @include_once DEDEROOT.'/uc_client/client.php')
{
$uid = uc_user_register($userid, $pwd, $email);
if($uid <= 0)
{
if($uid == -1)
{
ShowMsg("用户名不合法!","-1");
exit();
}
elseif($uid == -2)
{
ShowMsg("包含要允许注册的词语!","-1");
exit();
}
elseif($uid == -3)
{
ShowMsg("你指定的用户名 {$userid} 已存在,请使用别的用户名!","-1");
exit();
}
elseif($uid == -5)
{
ShowMsg("你使用的Email 不允许注册!","-1");
exit();
}
elseif($uid == -6)
{
ShowMsg("你使用的Email已经被另一帐号注册,请使其它帐号","-1");
exit();
}
else
{
ShowMsg("注删失改!","-1");
exit();
}
}
else
{
$ucsynlogin = uc_user_synlogin($uid);
}
}
#/aip}}

if($cfg_md_mailtest=='Y')
{
$row = $dsql->GetOne("SELECT mid FROM `#@__member` WHERE email LIKE '$email' ");
if(is_array($row))
{
ShowMsg('你使用的Email已经被另一帐号注册,请使其它帐号!', '-1');
exit();
}
}

//检测用户名是否存在
$row = $dsql->GetOne("SELECT mid FROM `#@__member` WHERE userid LIKE '$userid' ");
if(is_array($row))
{
ShowMsg("你指定的用户名 {$userid} 已存在,请使用别的用户名!", "-1");
exit();
}

//会员的默认金币
$dfscores = 0;
$dfmoney = 0;
$dfrank = $dsql->GetOne("SELECT money,scores FROM `#@__arcrank` WHERE rank='10' ");
if(is_array($dfrank))
{
$dfmoney = $dfrank['money'];
$dfscores = $dfrank['scores'];
}

$mpwd = md5($pwd);

//这里的echo是因为如果管理员没有给会员帐号和密码的话,系统随机给的密码是md5加密存入数据库的,那么存入后管理员将无法得知会员的帐号密码信息,所以这里输出简单的会员信息为了让管理员管理的
echo "<table><tr><td>用户名:".$userid."</td></tr><tr><td>用户帐号:".$pwd."</td></tr><tr><td>用户昵称:".$uname."</td></tr></table>";
$dsql->ExecuteNoneQuery("INSERT INTO dede_member SET `mtype`='$mtype',`userid`='$userid',`pwd`='$mpwd',`uname`='$uname',`sex`='$sex' ,`rank`='$rank',`exptime`='$exptime',`money`='$dfmoney', `email`='$email', `scores`='$dfscores', `matt`='0', `face`='',`safequestion`='0',`safeanswer`='$safeanswer', `jointime`='$jointime',`joinip`='$joinip',`logintime`='$logintime',`loginip`='$loginip';");
ShowMsg('成功添加一个用户');
exit();

}else{
include DedeInclude('templets/member_add.htm');
}

?>

这样一个后台会员添加就做好了

dedecms--在后台增加会员添加的更多相关文章

  1. ecshop后台增加|添加商店设置选项和使用方法详解

    有时候我们想在Ecshop后台做个设置.radio.checkbox 等等来控制页面的显示,看看Ecshop的设计,用到了shop_config这个商店设置功能 Ecshop后台增加|添加商店设置选项 ...

  2. Ecshop 后台增加一个左侧列表菜单menu菜单的方法

    Ecshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages ...

  3. 后台增加一个左侧列表菜单menu菜单的方法

    Ecshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages ...

  4. ecshop后台增加模块菜单详细教程(图)

    我们有时候针对ecshop如此开发,想在后台加一些菜单,最模板以前提供过教程,但是并非很系统,今天最模板抛砖引玉图文教程告诉大家:如何在ecshop后台增加模块菜单! 首先需要修改四个文件:inc_p ...

  5. DEDE首页会员部分,后台登陆,会员登录相关页面

    首页会员涉及部分 \templets\default\style\page.css \member\ajax_loginsta.php 会员登录页面涉及部分 \member\templets\inde ...

  6. zencart后台增加菜单选项

    如果要在程序中使用额外的参数,在后台控制,添加到菜单属性 在后台 SQL脚本 运行如下 SQL语句 INSERT INTO configuration (configuration_title, co ...

  7. 给ecshop后台增加管理功能页面

    给ecshop后台增加管理功能页面 比如我们增加一个统计报表叫做 物流费用统计报表 放在后台“报表统计”栏目中 具体操作步骤: 第一步,我们要添加一个菜单到后台,然后设置语言项,最后设置权限,这样,后 ...

  8. 【转】Ecshop 后台增加一个左侧列表菜单menu菜单的方法

    cshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages/ ...

  9. ecshop后台增加模块菜单项详细教程(图文)

    有的时候我们会在后台增加新的功能,菜单项是一个程序的入口,是必不可少的,如何在后台增加菜单项呢,大家可以参考下面的教程:   例如:想在后台左侧的菜单栏的"促销管理"下添加一个&q ...

随机推荐

  1. python3和Python2的区别

    一.print函数 python2 的 print 声明已经被 print() 函数取代了,这意味着我们必须包装我们想打印在小括号中的对象 二.通过input()解析用户的输入 python3中inp ...

  2. 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天)

    点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天) 课程大纲 1.这一期比之前的Python培新课程增加了很多干货:Linux ...

  3. 解决iPhone滑动不流畅问题

    前段时间在做一个手机端的页面时遇到了iOS上滑动不流畅的问题,后来才发现安卓上没有问题,才意识到这是兼容性问题引起的,所以遇到问题后快速定位到问题根源非常重要.在网上一搜就找到了解决方案.以后遇到类似 ...

  4. 分享几个能用的 editplus 注册码

    转载自: https://www.cnblogs.com/shihaiming/p/6422441.html 原文:http://host.zzidc.com/wljc/1286.html EditP ...

  5. RSA与AES实现数据加密传输

    RSA.AES简介 RSA:非对称加密,需要提前生成两个密钥(一对的),通过其中一个密钥加密后的数据,只有另一个密钥能解密.通常这两个密钥中有一个会暴漏出来,即对外公开的,这个密钥称为“公钥”,反之另 ...

  6. ultraedit编辑器破解版下载

    ultraedit一款功能丰富的网站建设软件,需要的朋友可以看看. 百度百科:UltraEdit 是一套功能强大的文本编辑器,可以编辑文本.十六进制.ASCII 码,完全可以取代记事本(如果电脑配置足 ...

  7. Pyhon从入门到致命

    第一章 基础 1.python2和python3的区别 2.数据类型 2.1 int 整型 2.2 str 字符串不可变类型 2.3 bool 布尔类型 2.4 list 列表 2.5 tuple 元 ...

  8. Python基础-包与模块

    Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...

  9. leetcode-23-DynamicProgramming-1

    357. Count Numbers with Unique Digits 解题思路: 用arr[i]存放长度为i时,各位互不相同的数字的个数,所以arr[1]=10,arr[2]=9*9.(第一位要 ...

  10. Apache简易快速安装

    转发出处:https://blog.csdn.net/qq_34804120/article/details/78862290 准备安装包 到https://www.apachelounge.com/ ...