$_SESSION['parent_id'] = 0; } if (!isset($_SESSION['openid'])) { $_SESSION['openid'] = ''; } if (!isset($_SESSION['account'])) { $_SESSION['account'] = ''; } //$_SESSION['account'] = 'SJ000000'; $code = getGET('code'); $state = getGET('state'); //微信获取和同步用户信息 if ($_SESSION['openid'] == '' && $code != '' && $state == 2048 && is_weixin()) { $wechat_user = get_user_info($code, $config['appid'], $config['appsecret'], 'userinfo'); if ($wechat_user) { $log->record("get user openid:" . $wechat_user->openid); $_SESSION['openid'] = $wechat_user->openid; $get_account = 'select `account` from ' . $db->table('member') . ' where `openid`=\'' . $wechat_user->openid . '\''; $account = $db->fetchOne($get_account); if (!$account) { //检查用户的unionid $access_token = get_access_token($config['appid'], $config['appsecret']); $all_info = get_user_wechat_info($access_token, $wechat_user->openid); if (isset($all_info->unionid)) { $get_account = 'select `account` from ' . $db->table('member') . ' where `unionid`=\'' . $db->escape($all_info->unionid) . '\''; $account = $db->fetchOne($get_account); if ($account) { $member_data = array('openid' => $_SESSION['openid']); $db->autoUpdate('member', $member_data, '`account`=\'' . $account . '\''); } }