zoukankan      html  css  js  c++  java
  • 微信oauth2授权获得用户信息

    <?php
    session_start();
    header("Content-type: text/html; charset=utf-8");
    $home = 'index.php';
    class db{
        private $host;
        private $user;
        private $pass;
        private $database;
        private $charset;
        function __construct($host,$user,$pass,$database,$charset){
            $this->host=$host;
            $this->user=$user;
            $this->pass=$pass;
            $this->database=$database;
            $this->charset=$charset;
            $this->connect();
        }
        function connect(){
            mysql_connect($this->host,$this->user,$this->pass) or die ("连接数据库服务器失败!");
            mysql_select_db($this->database) or die ("连接数据库失败!");
            mysql_query("set names $this->charset");        
        }
        function select($sql){
            $select=mysql_query($sql);
            $rows = '';
            while($row = mysql_fetch_array($select, MYSQL_ASSOC)) {
            $rows[] = $row;
            }
            return $rows;
        }
        function insert($tab,$col,$value){
            mysql_query("INSERT INTO $tab($col)values($value)");
            return mysql_insert_id();
        }
        function update($tab,$col,$new_value,$colm,$value){
            mysql_query("UPDATE $tab SET $col=$new_value where $colm=$value");    
        }
        function delete($tab,$col,$value){
          mysql_query("DELETE FROM $tab where $col=$value");
        }
        function close(){
        mysql_close();
        }
    }
    $db = new db('127.0.0.1','root','lizhifeng','jinba','utf8');

    //通过oauth2授权获取用户详细信息
    //$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx954b290311defa52&redirect_uri=http://jinba2.emailcar.net&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';
    if(!$_SESSION['userid']){
    if (isset($_GET['code'])){
    $code = $_GET['code'];
    $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx954b290311defa52&secret=299a1a9ba0db6d1b09266842de62079c&code='.$code.'&grant_type=authorization_code';
    $json = file_get_contents($url); 
    $arr = json_decode($json,true);
    $token = $arr['access_token'];  
    $openid = $arr['openid'];
    $url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$token.'&openid='.$openid.'&lang=zh_CN'; 
    $json = file_get_contents($url); 
    $arr = json_decode($json,true); 
    $name = $arr['nickname'];
    $imgURL = $arr['headimgurl'];
    $sex = $arr['sex'];
    $province = $arr['province'];
    $city= $arr['city'];
    $country= $arr['country'];
    $result = $db->select('select * from member where openid = "'.$openid.'"');
    if($result){
    $userid = $result[0]['id'];
    $_SESSION['userid'] = $userid;
    }else{
    if($openid){
    $userid = $db->insert('member','openid,nickname,headimgurl,sex,city,country,province,create_time','"'.$openid.'","'.$name.'","'.$imgURL.'","'.$sex.'","'.$city.'","'.$country.'","'.$province.'","'.time().'"');
    $_SESSION['userid'] = $userid;
    }else{
    header("Location: $url"); 
    }
    }
    }else{
        header("Location: $url"); 
    }
    }
    $userid = $userid?$userid:$_SESSION['userid'];




  • 相关阅读:
    通过shell脚本排查jar包中类冲突
    批量复制及执行命令shell脚本
    java String hashCode遇到的坑
    hive常用命令
    hadoop-2.10.0安装hive-2.3.6
    centos7安装mysql-5.7.28
    centos7安装mysql-5.5和mysql-5.6
    centos7搭建hadoop2.10高可用(HA)
    centos7搭建hadoop2.10完全分布式
    kafka(一)-为什么选择kafka
  • 原文地址:https://www.cnblogs.com/muxiaoye/p/8c6336db6e74833d869428217ba5a7ab.html
Copyright © 2011-2022 走看看