Ejemplo n.º 1
0
     $ckinfos['time'] = $userdb['time'];
 }
 $userinfos['mname'] = preg_replace("/(c:\\con\\con\$|[%,\\*\"\\s\t\\<\\>\\&])/i", "", $userinfos['mname']);
 if (strlen($userinfos['mname']) > 15) {
     $userinfos['mname'] = substr($userinfos['mname'], 0, 15);
 }
 if (empty($ckinfos['time']) || empty($userinfos['mname']) || empty($userinfos['password'])) {
     empty($_GET['forward']) || header("Location: {$_GET['forward']}");
     exit('member data missing!');
 } elseif ($timestamp - $ckinfos['time'] > $pptin_expire) {
     empty($_GET['forward']) || header("Location: {$_GET['forward']}");
     exit('member data expired!');
 }
 $db = new cls_mysql();
 $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, true, $dbcharset);
 if ($cmember = $db->fetch_one("SELECT mid,checked FROM {$tblprefix}members WHERE mname='{$userinfos['mname']}'")) {
     $cmember['password'] != $userinfos['password'] && $db->query("UPDATE {$tblprefix}members SET password='******'password']}' WHERE mid={$cmember['mid']}");
     msetcookie('msid', '', -86400 * 365);
     msetcookie('userauth', authcode("{$userinfos['password']}\t{$cmember['mid']}", 'ENCODE'));
 } else {
     //只是写入会员资料记录,当第一次登录时需要激活,将checked设为2。
     $sqlstr = '';
     $userinfos['regip'] = empty($userinfos['regip']) ? onlineip() : $userinfos['regip'];
     $userinfos['regdate'] = empty($userinfos['regdate']) ? $timestamp : $userinfos['regdate'];
     foreach (array('mname', 'password', 'email', 'regip', 'regdate') as $var) {
         $sqlstr .= (empty($sqlstr) ? '' : ',') . "{$var}='{$userinfos[$var]}'";
     }
     $sqlstr .= ",checked='2'";
     $db->query("INSERT INTO {$tblprefix}members SET {$sqlstr}");
     //没有写入模型记录//没有初始化积分
     $userinfos['mid'] = $db->insert_id();