




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】PHP實(shí)現(xiàn)微信關(guān)注公眾號掃碼登錄功能
PHP微信掃碼登錄看起來簡單,但做起來有點(diǎn)復(fù)雜,微信接口的坑有點(diǎn)多,稍不注意,就費(fèi)很多時間。PHP判斷是否首次關(guān)注公眾號,掃碼關(guān)注公眾號獲取微信用戶頭像、openid和省市等信息源碼。
第一步:獲取關(guān)注二維碼ticket,并且傳參二維碼qrcode表主鍵id
$sql
=
"INSERT
INTO
`qrcode`
(`addtime`)
VALUES
('"
.
time()
.
"')";
mysql_query($sql);
$scene_id
=
mysql_insert_id();
$url
=
'/cgi-bin/token?grant_type=client_credential&appid='
.
$appid
.
'&secret='
.
$appsecret;
$access_token_array
=
json_decode(curlGet($url),
true);
$access_token
=
$access_token_array['access_token'];
//echo
$access_token;exit;/project/wxvalid/index.php
$qrcode_url
=
'/cgi-bin/qrcode/create?access_token='
.
$access_token;
$post_data
=
array();
$post_data['expire_seconds']
=
3600
*
24;
//有效時間
$post_data['action_name']
=
'QR_SCENE';
$post_data['action_info']['scene']['scene_id']
=
$scene_id;
//傳參用戶uid,微信端可獲取
$json
=
curlPost($qrcode_url,
json_encode($post_data));
if
(!$json['errcode'])
{
$ticket
=
$json['ticket'];
$ticket_img
=
'/cgi-bin/showqrcode?ticket='
.
urlencode($ticket);
}
else
{
echo
'發(fā)生錯誤:錯誤代碼
'
.
$json['errcode']
.
',微信返回錯誤信息:'
.
$json['errmsg'];
exit;
}
第二步:微信服務(wù)端接受數(shù)據(jù),并且用戶登錄信息
$postObj
=
simplexml_load_string($postStr,
'SimpleXMLElement',
LIBXML_NOCDATA);
$scene_id
=
str_replace("qrscene_",
"",
$postObj->EventKey);
$openid
=
$postObj->FromUserName;
//openid
$ToUserName
=
$postObj->ToUserName;
//轉(zhuǎn)換角色
$Event
=
strtolower($postObj->Event);
if
($Event
==
'subscribe')
{//首次關(guān)注
$is_first
=
0;
}
elseif
($Event
==
'scan')
{//已關(guān)注
$is_first
=
1;
}
$access_token
=
$this->getAccessToken();
$userinfo
=
$this->getUserinfo($openid,
$access_token);
$sql
=
"UPDATE
`qrcode`
SET
`openid`
=
'"
.
$openid
.
"',logintime='"
.
time()
.
"',is_first="
.
$is_first
.
",nickname='"
.
$userinfo['nickname']
.
"'"
.
",avatar='"
.
$userinfo['avatar']
.
"',sex='"
.
$userinfo['sex']
.
"',province='"
.
$userinfo['province']
.
"',city='"
.
$userinfo['city']
.
"',country='"
.
$userinfo['country']
.
"'
WHERE
`id`
="
.
$scene_id
.
"";
mysql_query($sql);
第三步:每隔2秒檢測是否關(guān)注微信公眾號
<script>
check_login();
function
check_login()
{
$.post("check_login.php",
{scene_id:
<?php
echo
$scene_id;
?>},
function(data)
{
var
attention
=
'首次關(guān)注';
if
(data.is_first
==
1)
{
attention
=
'已關(guān)注過';
}
if
(data.openid
!=
null)
{
alert("掃碼成功,openid為"
+
data.openid
+
"nickname:"
+
data.nickname);
location.reload();
}
else
{
setTimeout("check_login()",
2000);
}
},
"json");
}
</script>
通過微信openid和access_token獲取微信用戶信息,并存入表當(dāng)中的信息如下:
<tr>
<th>openid</th>
<th>昵稱</th>
<th>性別<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云計(jì)算HCIP模考試題與參考答案
- 個人借款申請書范文
- 業(yè)務(wù)員年度工作計(jì)劃
- 企業(yè)弱電維護(hù)合同范本
- 三八婦女節(jié)護(hù)士愛崗敬業(yè)的演講稿
- 南通批發(fā)市場用電合同范本
- 醫(yī)院房子出售合同范本
- 臺球俱樂部采購合同范本
- 南京租房陰陽合同范例
- 區(qū)域 加盟 合同范本
- 醫(yī)院管理案例運(yùn)用PDCA降低住院患者跌倒發(fā)生率課件
- 家譜族譜宗譜樣本(唐氏家譜)
- DB32T 3699-2019 城市道路照明設(shè)施養(yǎng)護(hù)規(guī)程
- 自然辯證法概論課件:第四章馬克思主義科學(xué)技術(shù)社會論
- 2021版大象版四年級科學(xué)下冊12奇妙的植物教學(xué)課件
- 精雕JDPaint快捷鍵大全
- 山東建筑電氣與智能化疑難問題分析與解答
- 2022年鄭州衛(wèi)生健康職業(yè)學(xué)院單招英語模擬試題(附答案解析)
- Q∕GDW 10354-2020 智能電能表功能規(guī)范
- 土壤學(xué)習(xí)題與答案
- 數(shù)字化影像與PACS教學(xué)大綱
評論
0/150
提交評論