php如何使用微信用户绑定网站用户详解编程语言

php如何使用微信用户绑定网站用户详解编程语言

PHP微信用户绑定网站用户实现原理:因为对于每个公共号,每个微信用户的open_id是固定不变的,也就是说可以利用网站用户id与微信用户的open_id建立一一对应关系。废话不多说,直接看代码:

数据库设计如下:

当用户关注的时候,当用户信息添加到微信用户表

case ‘SUBSCRIBE’: //用户订阅事件

$openid = $this->xmlObj->FromUserName;

$UserController=new UserController();

$rs=$UserController->addUser($openid);

添加之前判断数据表中是否存在该用户信息,没有则添加,否则更新

获取用户信息的方式如下:

$token=$this->getTooken();

$url = “https://api.weixin.qq.com/cgi-bin/user/info?access_token=”.$token.”&openid={$openid}&lang=zh_CN”;

$userInfo = $this->https_request($url);

其实,是一个很关键的步骤,再绑定页面提交数据时候,如何获取用户的openid呢?都知道我们是通过openid来建立绑定呢?但是微信怎样才能让我获取用户的openid呢?

这就需要进行oauth认证 ,即:网页授权获取用户基本信息

再次我将其封装在方法里:

我选择的是:

scope为snsapi_userinfo,也是静默授权,用户无感知。

/**

* 通过code值获取open_id

* @param unknown $code

*/

public function getOpenIdByCode($code){

$appid=$this->appid;

$secret=$this->appsecret;

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

$res=$this->https_request($queryUrl);

$openid = $res[‘openid’];

return $openid;

}

最后通过open_id检索用户表,将该行字段中uid改为需要绑定的uid即可。

php如何使用微信用户绑定网站用户详解编程语言

转载请注明来源网站:blog.ytso.com谢谢!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14693.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论