Example #1
0
$get = FALSE;
$req_uri = explode('/', $_SERVER["REQUEST_URI"], -1);
$req_uri = implode('/', $req_uri);
$jssdk = new JSSDK("wx2d39a6c422ad663c", "e339b975f47c4a16b2b4b41f10fb5ef1");
// 测试id
//$jssdk = new JSSDK("wxae45c193de06d5a4", "f9a61bd7a83a5302a9960a84eb9e8ba3");
global $user_class;
$user_info = new stdClass();
if (isset($_GET['code']) && isset($_GET['state']) && strlen($_GET['code']) == 32) {
    $get = TRUE;
    $code = sanitize_text_field($_GET['code']);
    $state = sanitize_text_field($_GET['state']);
}
if ($get) {
    //As long as we get here, there is no need to check
    $user_info = $jssdk->getPageUserInfo($code);
    if (!empty($user_info->openid)) {
        // if successfully get the user information, then we are able to process.
        $cookies->set("nickname", $user_info->nickname, 30, "days");
        $cookies->set('user_id', $user_info->user_id, 30, "days");
        $cookies->set('openid', $user_info->openid, 30, "days");
        $cookies->set('city', $user_info->city, 30, "days");
        $cookies->set('country', $user_info->country, 30, "days");
        $cookies->set('headimgurl', $user_info->headimgurl, 30, "days");
        $cookies->set('new_login', 1);
        $string = $user_info->open_id . "oneu";
        $ver_code = substr(md5($string), -9);
        $cookies->set('ver_code_user_data', $ver_code, 30, "days");
        $res = $user_class->set_user_info($user_info->openid, $user_info);
    } else {
        //relocated to the login page, to get code again.