level 9
哼哼哈哼呵
楼主

一注册会员就提示这个问题网上搜索的方法全不对,但应该是连接数据的问题
下面是注册页的代码,帮忙看一下有什么不对的地方?
<?php
/**
* @version $Id: reg_new.php 1 8:38 2010年7月9日Z tianya $
* @package DedeCMS.Member
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
require_once(dirname(__FILE__)."/config.php");
if($cfg_mb_allowreg==*N*)
{
ShowMsg(*网站关闭注册!*, *index.php*);
exit();
}
if(!isset($dopost)) $dopost = **;
if($cfg_ml->IsLogin())
{
ShowMsg(*你已经登陆系统,无需重新注册!*, *index.php*);
exit();
}
if($dopost==*regbase*)
{
$svali = GetCkVdValue();
if(preg_match("/1/", $safe_gdopen)){
if(strtolower($vdcode)!=$svali || $svali==**)
{
ResetVdValue();
ShowMsg(*验证码错误!*, *-1*);
exit();
}
}
$userid = trim($userid);
$pwd = trim($userpwd);
$pwdc = trim($userpwdok);
$rs = CheckUserID($userid, *用户名*);
if($rs != *ok*)
{
ShowMsg($rs, *-1*);
exit();
}
if(strlen($userid) > 20)
{
ShowMsg(*用户名太长啦!*, *-1*);
exit();
}
if(strlen($userid) < $cfg_mb_idmin || strlen($pwd) < $cfg_mb_pwdmin)
{
ShowMsg("用户名或密码过短!","-1");
exit();
}
if($pwdc != $pwd)
{
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*];
}
$jointime = time();
$logintime = time();
$joinip = GetIP();
$loginip = GetIP();
$pwd = md5($userpwd);
$qq = GetAlabNum($qq);
$spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);
$inQuery = "INSERT INTO `#@__member` (`userid` ,`pwd` ,`qq` ,`rank` ,`money` ,`email` ,`scores` ,
`matt`, `spacesta` ,`face`,`jointime` ,`joinip` ,`logintime` ,`loginip` )
VALUES (*$userid*,*$pwd*,*$qq*,*10*,*$dfmoney*,*$email*,*$dfscores*,
*0*,*$spaceSta*,**,*$jointime*,*$joinip*,*$logintime*,*$loginip*); ";
if($dsql->ExecuteNoneQuery($inQuery))
{
$mid = $dsql->GetLastID();
//写入默认会员详细资料
$space=*person*;
//写入默认统计数据
$membertjquery = "INSERT INTO `#@__member_tj` (`mid`)
VALUES (*$mid*); ";
$dsql->ExecuteNoneQuery($membertjquery);
//写入其它默认数据
//----------------------------------------------
//模拟登录
//---------------------------
$cfg_ml = new MemberLogin(7*3600);
$rs = $cfg_ml->CheckUser($userid, $userpwd);
//邮件验证
if($cfg_mb_spacesta==-10)
{
$userhash = md5($cfg_cookie_encode.*--*.$mid.*--*.$email);
$url = $cfg_basehost.(empty($cfg_cmspath) ? */* : $cfg_cmspath)."/user/join.php?fmdo=checkMail&mid={$mid}&userhash={$userhash}&do=1";
$url = preg_replace("#http:\/\/#i", **, $url);
$url = *http://*.preg_replace("#\/\/#", */*, $url);
$mailtitle = "{$cfg_webname}--会员邮件验证通知";
$mailbody = **;
$mailbody .= "尊敬的用户[{$userid}],您好:\r\n";
$mailbody .= "欢迎注册成为[{$cfg_webname}]的会员。\r\n";
$mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏访问这地址:\r\n\r\n";
$mailbody .= "{$url}\r\n\r\n";
$headers = "From: ".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;
if($cfg_sendmail_bysmtp == *Y* && !empty($cfg_smtp_server))
{
$mailtype = *TXT*;
require_once(DEDEINC.*/mail.class.php*);
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = false;
$smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
@mail($email, $mailtitle, $mailbody, $headers);
}
}//End 邮件验证
require_once(DEDEMEMBER."/templets/reg-done.htm");
exit;
} else {
ShowMsg("注册失败,请检查资料是否有误或与管理员联系!", "-1");
exit();
}
}
require_once(DEDEMEMBER."/templets/reg.htm");