Ejemplo n.º 1
0
    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();
        $db->query("INSERT INTO {$tblprefix}members_sub SET mid='{$userinfos['mid']}'");
    }
    empty($_GET['forward']) || header("Location: {$_GET['forward']}");
    exit;
} elseif ($_GET['action'] == 'logout') {
    msetcookie('msid', '', -86400 * 365);
    msetcookie('userauth', '', -86400 * 365);
    empty($_GET['forward']) || header("Location: {$_GET['forward']}");
    exit;
}
function passport_decrypt($txt, $key)
{
    $txt = passport_key(base64_decode($txt), $key);
    $tmp = '';
    for ($i = 0; $i < strlen($txt); $i++) {