error))
{
echo "
error:
" . $msg->error;
echo "msg :
" . $msg->error_description;
}
}
$params = array();
parse_str($response, $params);
//set access token to session
session("access_token",$params["access_token"]);
}
else
{
echo("The state does not match. You may be a victim of CSRF.");
}
}
function get_openid()
{
$graph_url = "https://graph.qq.com/oauth2.0/me?access_token="
. session('access_token');
$str = get_url_contents($graph_url);
if (strpos($str, "callback") !== false)
{
$lpos = strpos($str, "(");
$rpos = strrpos($str, ")");
$str = substr($str, $lpos + 1, $rpos - $lpos -1);
}
$user = json_decode($str);
if (isset($user->error))
{
echo "error:
" . $user->error;
echo "msg :
" . $user->error_description;
}
//set openid to session
session('openid',$user->openid);
}
//QQ登录成功后的回调地址,主要保存access token
qq_callback();
//获取用户标示id
get_openid();
@header('location: '.HOME_SITE_URL.'/Connectqq');
?>