文件1:
$redirect_uri=urlencode($redirect_uri);//
該**需要url編碼
$scope="snsapi_login";//
."&response_type=code&scope=".$scope."&state=state#wechat_redirect";
//請求返回的結果(實際上是個html的字串)
$result = file_get_contents($url
);//
$result = str_replace("/connect/qrcode/", "", $result
);return
$result; //
返回頁面
這樣子就會返回乙個這樣的頁面,掃瞄後呼叫$redirect_uri,
2.內嵌js顯示:
這裡就是通過js端例項化乙個物件即可,首先在標籤內新增如下js檔案,
其次在html中定義乙個div包含***,最後在$(document).ready()內進行例項化:
$(document).ready(function()注意其中href裡指向的css檔案必須放在https協議下才能引用的到,不然頁面上就是預設樣式(顯示上是乙個比較大的***,你無法調節***的大小,位置,太痛苦了)。最後部分頁面大概長成這樣,這裡的***大概只有140px:);});
走完這五步你就拿到掃碼使用者的所有資訊了,之後再寫上自己需要的的**邏輯即可(如重定向或者登陸),在**裡的表現形式如下:
//**文件2:public function codeinfo()
}
訪問後
掃碼後手機端效果
入口**如下:
<?php//-------配置
$callback = ''; //**位址
session_start();
//-------生成唯一隨機串防csrf攻擊
$state = md5(uniqid(rand(),true));
$_session["wx_state"] = $state; //存到session
$callback = urlencode($callback);
header("location: $wxurl");
?>
**檔案callback.php
<?phppc端最終效果如下://驗證csrf攻擊
if($_get['state']!=$_session["wx_state"])
$ch = curl_init();
curl_setopt($ch, curlopt_ssl_verifypeer, false);
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_url, $url);
$json = curl_exec($ch);
curl_close($ch);
$arr=json_decode($json,1);
//得到 access_token 與 openid
print_r($arr);
$url=''.$arr['access_token'].'&openid='.$arr['openid'].'&lang=zh_cn';
$ch = curl_init();
curl_setopt($ch, curlopt_ssl_verifypeer, false);
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_url, $url);
$json = curl_exec($ch);
curl_close($ch);
$arr=json_decode($json,1);
得到 使用者資料
print_r($arr);
?>
微信網頁掃碼登入的實現
public function weixindenglu public function codeinfo else else insert user db table users insert data user id db table users where username infoarray...
微信網頁掃碼登入的實現
redirect uri urlencode redirect uri 該 需要url編碼 請求返回的結果 實際上是個html的字串 result file get contents url result str replace connect qrcode result return result...
微信網頁掃碼登入的實現
redirect uri urlencode redirect uri 該 需要url編碼 scope snsapi login 請求返回的結果 實際上是個html的字串 result file get contents url result str replace connect qrcode r...