TP5マイクロチャネル承認


$ APPID = '****************'保護されました。//微信APPID
保護$ appsecrt = '******************'; //微信appsecrt


// -----------サイレントの許可(許可を確認するために、ユーザーを使用して、ユーザーのニックネームとアバターを取得するには、アバター、ユーザーのニックネームを取得することはできません)
パブリック関数getBaseInfo()
{
//取得するコード
$ REDIRECT_URI =でurlencode ( "のhttp://www.******.com/index/index/getWxCode"); // コールバックアドレス
$ URL =「https://open.weixin.qq.com/connect/oauth2/authorize ?APPID = "の$ this - >。 APPID。" &REDIRECT_URI = $ REDIRECT_URI&response_type =コード&スコープ= snsapi_base&状態= 123#のwechat_redirect「; //状態を任意にすることができます
    の$ this - >リダイレクト($ URL、302); // TP5的重定向方法  
}

パブリック関数getWxCode()
{
//获取access_tokenは
//获取のOpenID
$コード= $ _GET [ 'コード']。
$ URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=
"。の$ this - > APPID。" &秘密= "。の$ this - > appsecrt。"&コード= $コード&grant_type = authorization_code";
    $ R = http_curl($のURL); 
$のOpenID = $ R [ 'のOpenID']。
$ access_tokenは= $ R [ 'access_tokenは']。
var_dump( 'access_tokenは是:' $ access_tokenは'=========' 'OpenIDの是:'。。。。$ OpenIDの);
}


// -------------------------------最後--------------- --------------------


// -----------用户确认授权           
パブリック関数getCodeUserInfo($温度)
{
//获取コード
$ REDIRECT_URI =でurlencode( "http://zs.zs13ce.gx.cn/index/index/ getWxUserInfo "); //回调地址
$ URL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid= "。の$ this - > APPID。" &REDIRECT_URI = $ REDIRECT_URI&response_type =コード&スコープ= snsapi_userinfo&状態= $ TEMP&connect_redirect = 1#wechat_redirect"。//状態可任意
    の$ this - >リダイレクト($ URL、 302); // TP5のリダイレクト方法  
}


パブリック関数getWxUserInfo()
{
//换取网页授权access_tokenは
//获取のOpenID
$コード=の$ this - >要求- > PARAM( 'コード')。
$状態=の$ this - >要求- >のparam( '国家');
$ URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="。の$ this - > APPID。"&秘密="。の$ this - > appsecrt。"&コード="。$コード。"&grant_type = authorization_code";
$ rjson = http_curl($のURL);
$ access_tokenは= $ rjson [ 'access_tokenは']; //得到access_tokenは(网页的)
$のOpenID = $ rjson [ 'OpenIDの']; //得到のOpenID
$ userInfoUrl =「https://api.weixin.qq.com/ SNS /のuserinfo?access_tokenは= $ access_tokenは&のOpenID = "。ます$ this->
        = http_curl $($ userInfoUrl)結果; 
//のvar_dump($結果); //プリントユーザーの詳細
//が死ぬ;
IF(空($結果)){
0エコーを、ダイ;
}
$ユーザー名:: = DBの( "ユーザー") - > WHERE( "OpenIDのは"、$)[ "OpenIDのを"]結果- >()の検索;
IFは(($ユーザーを空にする)){
//何もテーブルが存在しない場合は、挿入
}
$この- > _ユーザーユーザ$ =;
の$ this - > setIsSq($ユーザ);
の$ this - >リダイレクト(URL($州)、302); //リダイレクト方法TP5 
}




http_curl機能($ URL、データ= $ [])
{
$カール= curl_init(); //初期化
しますcurl_setopt($カール、CURLOPT_URL、$ URL); // セットクロールのURL
(falseに$カール、CURLOPT_SSL_VERIFYPEER、)しますcurl_setopt ; // HTTPS証明書とホストの検証ない要求
(falseに$カール、CURLOPT_SSL_VERIFYHOST)ますcurl_setopt;
ますcurl_setopt($カール、CURLOPT_HEADER、0); //ヘッダ情報が1に設定されているデータ・ストリームとして出力されます設定HTTP効率スピードアップするために、HTTPヘッダ情報プリントアウトしないでください
ますcurl_setopt($カール、CURLOPT_RETURNTRANSFER、1 ); // 設定し、取得した情報は、代わりに出力されているのは、ファイルストリームの形式で返されます。設定が0の場合は、印刷情報がtrueにあり
ますcurl_setopt(trueに$カール、CURLOPT_POSTFIELDS、json_encode($データ、));
$データ= curl_exec($カール); //ファイル名を指定して実行
$ = json_decode(trueに$データ)の結果、
IF (データ== falseに$){
エコー"カールエラー:" curl_error($カール);.
出口();
}
Curl_close($カール); //閉じるURL要求
リターン$結果;
}

おすすめ

転載: www.cnblogs.com/j-jian/p/11908997.html