dedecms--在后台增加会员添加
最近在研究dedecms需要前臺頁面不允許會員注冊,而會員帳號是管理員在后臺添加的,首先我們得在后臺的欄目選項中有會員添加這一欄目;
1:在dede/inc的文件夾下面找到inc_memu.php;找到會員那個欄目,加一行:<m:item name='會員添加管理' link='member_add.php' rank='member_List' target='main' />
2:創(chuàng)建會員添加的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="企業(yè)" />企業(yè) </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文件夾下面創(chuàng)建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,所以這里需要將用戶類型和用戶性別轉(zhuǎn)話為GB2312格式,否則數(shù)據(jù)庫是存儲不了的
$mtype=iconv('utf-8', 'gb2312', $mtype);
$sex=iconv('utf-8', 'gb2312', $sex);
//如果管理員沒有給會員userid和密碼,那么這里系統(tǒng)會隨機給會員一個帳號和密碼
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已經(jīng)被另一帳號注冊,請使其它帳號","-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已經(jīng)被另一帳號注冊,請使其它帳號!', '-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是因為如果管理員沒有給會員帳號和密碼的話,系統(tǒng)隨機給的密碼是md5加密存入數(shù)據(jù)庫的,那么存入后管理員將無法得知會員的帳號密碼信息,所以這里輸出簡單的會員信息為了讓管理員管理的
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');
}
?>
這樣一個后臺會員添加就做好了
轉(zhuǎn)載于:https://www.cnblogs.com/gaoxuqing/p/6913177.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的dedecms--在后台增加会员添加的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xstream中几个注解的含义和用法(转
- 下一篇: java 原子量Atomic举例(Ato