最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php版微信自動(dòng)登錄并獲取昵稱的方法

 更新時(shí)間:2016年09月23日 08:45:47   作者:smiling  
這篇文章主要介紹了php版微信自動(dòng)登錄并獲取昵稱的方法,涉及php針對(duì)微信公眾平臺(tái)接口調(diào)用的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了php版微信自動(dòng)登錄并獲取昵稱的方法。分享給大家供大家參考,具體如下:

微信自動(dòng)登錄并獲取昵稱是可以通過(guò)api接口來(lái)獲取的也是通過(guò)微信開放的接口來(lái)實(shí)現(xiàn)了,下面我們一起來(lái)看一個(gè)例子

僅記錄:微信獲取昵稱自動(dòng)登錄

經(jīng)過(guò)反復(fù)幾次驗(yàn)證,發(fā)現(xiàn)我這個(gè)方法有缺陷:

微信內(nèi) 未關(guān)注進(jìn)入網(wǎng)站,無(wú)法獲得昵稱。

關(guān)注后用我這個(gè)方法可以獲得昵稱。

是否是因?yàn)榈谝淮紊蒾penid 所以還未生成昵稱?待測(cè)試.

/**
* 獲取當(dāng)前頁(yè)面完整URL地址
*/
function get_url() {
$sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
$php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';
$relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : $path_info);
return $sys_protocal.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '').$relate_url;
}
$wxch_config = $db -> getRow("SELECT * FROM `ecs_weixin_config` WHERE `id` = 1");
$appid = $wxch_config['appid'];
$appsecret = $wxch_config['appsecret'];
$APPID = $appid;
$SCRETID =$appsecret;
if(!$_SESSION['user_id'] && strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false){
if (!isset($_GET['code']))
{
$backurl = get_url();
//$url = $jsApi->createOauthUrlForCode($backurl);
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$APPID."&redirect_uri=".urlencode($backurl)."&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
//echo $url;
Header("Location: $url");
}else
{
//獲取code碼,以獲取openid
$code = $_GET['code'];
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$APPID."&secret=".$SCRETID."&code=".$code."&grant_type=authorization_code";
$re = curl_get_contents1($url);
$rearr = json_decode($re,true);
$openid = $rearr['openid'];
//var_dump($rearr);
//$jsApi->setCode($code);
//$openid = $jsApi->getOpenid();
$user_name = $db->getOne("select uname from ecs_weixin_user where wxid = '{$openid}'");
if($openid && !$user_name){ //注冊(cè)進(jìn)入
$passw = md5('shanmao.me'.rand(1,18650144002));
$wxch_user_sql = "INSERT INTO `ecs_weixin_user` (`wxid`,`setp`) VALUES ('$openid','3')";
$db -> query($wxch_user_sql);
$ecs_user_id = $db -> insert_id();
if($ecs_user_id<=0){
exit('error get insert_id');
}
$url3 = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$SCRETID;
$re3 = curl_get_contents1($url3);
$re3arr = json_decode($re3,true);
$token = $re3arr['access_token'];
$url2 = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$token."&openid=".$openid."&lang=zh_CN";
$re2 = curl_get_contents1($url2);
$rearr2 = json_decode($re2,true);
$uc_username = $rearr2['nickname']?$rearr2['nickname']: 'doubag' . $ecs_user_id;
$time = gmtime();
$user_sql = "INSERT INTO `ecs_users` (`user_name`,`password`,`reg_time`) VALUES ('$uc_username','$passw','$time')";
$db -> query($user_sql);
$uc_update = "UPDATE ecs_weixin_user SET `uname` = '$uc_username' WHERE `uid` = '$ecs_user_id'";
$db -> query($uc_update);
$user->set_session($uc_username);
$user->set_cookie($uc_username,1);
update_user_info();
/*
$up_uid = get_affiliate();
if($up_uid>0){
$sql = 'UPDATE ecs_users SET parent_id = ' . $up_uid . ' WHERE user_id = ' . $ecs_user_id;
$db ->query($sql);
header('Location: user.php?newuser=1');
}*/
}else{
$user->set_session($user_name);
$user->set_cookie($user_name,1);
update_user_info();
}
//setcookie("sopenid",$openid,time()+864000,'/');
}
}
//var_dump($openid);
function curl_get_contents1($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_USERAGENT, "IE 6.0");
curl_setopt($ch, CURLOPT_REFERER, "");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • thinkphp5+layui實(shí)現(xiàn)的分頁(yè)樣式示例

    thinkphp5+layui實(shí)現(xiàn)的分頁(yè)樣式示例

    這篇文章主要介紹了thinkphp5+layui實(shí)現(xiàn)的分頁(yè)樣式,結(jié)合實(shí)例形式詳細(xì)分析了thinkPHP5框架結(jié)合layui實(shí)現(xiàn)的分頁(yè)功能相關(guān)的配置、查詢等操作技巧,需要的朋友可以參考下
    2019-10-10
  • 使用淘寶IP庫(kù)獲取用戶ip地理位置

    使用淘寶IP庫(kù)獲取用戶ip地理位置

    以前用過(guò)GOOGLE地圖和百度地圖獲取過(guò)用戶地理位置,現(xiàn)在又多了一個(gè)方法,那就是使用淘寶IP庫(kù)獲取用戶ip地理位置,一起來(lái)看代碼吧。
    2013-10-10
  • 將PHP的session數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中的代碼實(shí)例

    將PHP的session數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中的代碼實(shí)例

    這里我們將分享兩個(gè)將PHP的session數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中的代碼實(shí)例,分別針對(duì)PostgreSQL與MySQL,需要的朋友可以參考下
    2016-06-06
  • 在PHP中操作Excel實(shí)例代碼

    在PHP中操作Excel實(shí)例代碼

    使用COM,可以在PHP中控制Excel。下面通過(guò)一個(gè)簡(jiǎn)單的示例來(lái)演示PHP如何與Excel相交互(示例中有詳細(xì)的注釋)
    2010-04-04
  • 分享五個(gè)PHP7性能優(yōu)化提升技巧

    分享五個(gè)PHP7性能優(yōu)化提升技巧

    本文給大家分享五個(gè)PHP7性能優(yōu)化提升技巧,對(duì)php7性能提升相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • php遍歷數(shù)組的4種方法總結(jié)

    php遍歷數(shù)組的4種方法總結(jié)

    這篇文章主要介紹了php遍歷數(shù)組的4種方法總結(jié),它分分別是foreach循環(huán)、each函數(shù)、list函數(shù)、for循環(huán),需要的朋友可以參考下
    2014-07-07
  • laravel獲取不到session的三種解決辦法【推薦】

    laravel獲取不到session的三種解決辦法【推薦】

    這篇文章主要介紹了laravel獲取不到session的三種解決辦法的相關(guān)資料,需要的朋友可以參考下
    2018-09-09
  • LAMP環(huán)境使用Composer安裝Laravel的方法

    LAMP環(huán)境使用Composer安裝Laravel的方法

    這篇文章主要介紹了LAMP環(huán)境使用Composer安裝Laravel的方法,簡(jiǎn)單分析了Ubuntu服務(wù)器環(huán)境下Composer的安裝及使用Composer安裝Laravel的相關(guān)命令與使用技巧,需要的朋友可以參考下
    2017-03-03
  • 如何使用OPCache提升PHP的性能

    如何使用OPCache提升PHP的性能

    這篇文章主要介紹了如何使用OPCache提升PHP的性能,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下
    2021-04-04
  • Django 中 cookie的使用

    Django 中 cookie的使用

    Cookie是瀏覽器在客戶端留下的一段記錄,這段記錄可以保留在內(nèi)存或者硬盤上。Django里面,對(duì)cookie的讀取和設(shè)置很簡(jiǎn)單。接下來(lái)通過(guò)本文給大家分享Django 中 cookie的使用,感興趣的朋友一起看看吧
    2017-08-08

最新評(píng)論

兴宁市| 修水县| 龙江县| 海门市| 昌黎县| 新郑市| 通辽市| 郴州市| 宝应县| 新兴县| 庐江县| 昌宁县| 灵武市| 迁西县| 稷山县| 逊克县| 嘉鱼县| 神池县| 屯留县| 牙克石市| 舞钢市| 中超| 临漳县| 尚义县| 门源| 科尔| 阿坝县| 陆丰市| 安义县| 普兰店市| 台安县| 莫力| 重庆市| 平乐县| 黄浦区| 白城市| 卢龙县| 永福县| 沧州市| 百色市| 连山|