• 河南网站建设-郑州网站设计-郑州网站建设-手机建站-郑州建站-上海建站

  • 专注网站建设 服务热线: 13061801310

当前位置:好东东网 > 近期动态 > 技术分享 > 正文

生成微信公众号二维码以及获取用户的信息(下)

发布时间:2017-06-17 | 发布者: 东东工作室 | 浏览次数:

第二个页面show.php 代码:

<?php 

header("Content-type: text/html; charset=utf-8");  

/*if(empty($_SESSION['code'])){  

      

    header("Location:http://wx.dongdongliu.com/weixin/fn_wx_login.php");  

}else{  

    print_r($_SESSION['code']);  

} */ 

 

$appid = "公众号appid";  

$secret = "公众号secret";  

$code = $_GET["code"]; 

$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';  

 

 $weixin =  file_get_contents($get_token_url);

$jsondecode = json_decode($weixin); //对JSON格式的字符串进行编码

$array = get_object_vars($jsondecode);//转换成数组

$openid = $array['openid'];//输出openid

 

$access_token = $array['access_token'];//输出用户个人的access_token

//$refresh_token = $array['refresh_token'];

 

//以下是微信公众号的信息

$rs=file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret);

//返回结果格式{"access_token":"ACCESS_TOKEN","expires_in":7200}

 

$arr=json_decode($rs,true);

//以下是微信公众号的access_token

$access_token1=$arr['access_token'];

 

function https_post($url, $data = null){

     $curl = curl_init();

     curl_setopt($curl, CURLOPT_URL, $url);

     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);

     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

     if (!empty($data)){

         curl_setopt($curl, CURLOPT_POST, 1);

         curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

     }

     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $output = curl_exec($curl);

     curl_close($curl);

     return $output;

 }

  

//临时

 $qrcode = '{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 10000}}}';

//永久

 //$qrcode = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 1000}}}';

 

$url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=$access_token1";

  //var_dump($url);

  

  //echo"您的微信图像:"."<img src='$url' width='100px'/>"."<br/>";

 $result = https_post($url,$qrcode);

 // var_dump($result);

 

$jsoninfo = json_decode($result, true);

 $ticket = $jsoninfo["ticket"];

 

 $imgurl='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$ticket;

 echo"微信公众号二维码:"."<img src='$imgurl' width='100px'/>"."<br/>";

//以上是微信公众号的信息

//以下是用户的信息

 

$info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$opendid.'<=zh_CN';

 $info = json_decode(file_get_contents($info_url));

 $nickname = $data['name'] = $info->nickname;

 $headimgurl = $data['image'] = $info->headimgurl;

  $sex = $data['sex'] = $info->sex;

 $province = $data['province'] = $info->province;

  $city = $data['city'] = $info->city;

 $headimgurl = $data['image'] = $info->headimgurl;

 

 

$db_host   = 'localhost';  //数据库主机名称,一般都为localhost   

$db_user   = 'root';        //数据库用户帐号,根据个人情况而定   

$db_passw = 'shhc@2017root';   //数据库用户密码,根据个人情况而定   

$db_name  = 'weixin';         //数据库具体名称,以刚才创建的数据库为准  

//连接数据库   

$conn = mysql_connect($db_host,$db_user,$db_passw) or die ('数据库连接失败!</br>错误原因:'.mysql_error()); 

//选定数据库     

mysql_select_db($db_name,$conn) or die('数据库选定失败1!</br>错误原因:'.mysql_error()); 

  

//设置字符集,如utf8和gbk等,根据数据库的字符集而定   

mysql_query("set names 'utf8'");  

//var_dump($conn);

//echo"$code";

$sql="select * from dede_diyform1 where openid = '$openid '";

 

//var_dump($sql);

 $result=mysql_query($sql); 

// var_dump($result); 

$num=mysql_num_rows($result);

//var_dump($num); 

 

if($num == 0){

 $sql1="insert into dede_diyform1 (code,openid,nickname,sex,province,city,headimgurl) values ('$code','$openid','$nickname','$sex','$province','$city','$headimgurl')";

 //echo "$sql1";

  mysql_query($sql1);

 

 

}else{

 $sql1="update dede_diyform1 set code='$code' where openid='$openid'";

 

 //echo "$sql1";

  mysql_query($sql1);

}

 

//echo"$openid";

//exit();

if(empty($openid)) {

$sql="select * from dede_diyform1 where code = '$code'";

$result=mysql_query($sql);

//var_dump($result);

//echo"<br/>";

//$row = mysql_fetch_array($result); 

$row = mysql_fetch_array($result);

 

echo "您的微信昵称:";

echo $row['nickname'];

echo"<br/>";

 

$headimgurl = $row['headimgurl'];

echo"您的微信图像:"."<img src='$headimgurl' width='100px'/>"."<br/>";

 

 

}else{

 

echo"您的微信昵称:"."$nickname"."<br/>";

echo"您的微信图像:"."<img src='$headimgurl' width='100px'/>"."<br/>";

 

 

 

}

 

 

?>

<style type="text/css">

*{font-size:40px;}

</style>

<script type="text/javascript"> 

onload=function(){ 

setInterval(go, 1000); 

}; 

var x=2; //利用了全局变量来执行 

function go(){ 

x--; 

if(x>0){ 

document.getElementById("sp").innerHTML=x; //每次设置的x的值都不一样了。 

}else{ 

location.href='http://www.dongdongliu.com/2016/love.html'; 

</script>
 

人家都是卖代码,依我看没有必要,本着资源共享、代码开源的精神与大家共享乐趣,本站本着:“一切为了服务大众,为了服务大众的一切”而坚持,还请亲们多多支持,多来访问本站的内容,本站承诺一切资源免费共享,万分感谢大家的支持!!!

转载请标注:东东工作室——生成微信公众号二维码以及获取用户的信息(下)