开发者社区> 王磊-phper> 正文

微信扫码登陆网站类似 58同城(基于微信开发生成带参数的二维码的讲解)

简介: 微信扫码登陆网站类似 58同城(基于微信开发生成带参数的二维码的讲解)
+关注继续查看

边说逻辑边贴出代码吧还是!


1.数据库设计:


id  nickname  state     ticket         openid    主要看下后三个字段


1    wlphp       0          ***            djsfj


2.客户端每隔1秒发送post请求一旦返回1页面跳转登陆成功:


获取ticket代码请看上篇文章:基于微信开发生成带参数的二维码的讲解


<script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>

<script>

var ticket="<?php echo $ticket?>";

setInterval("wlphp()",1000); //每隔一秒去post给服务端

function wlphp(){

$.post("wlphp.php",{ticket:ticket},function (data){

     if(data==1){

         window.location.href="https://www.wlphp.com";

     }

});

}

</script>


3.用户用微信扫描二维码的时候我们会收到


  <ToUserName>gh_eb6940eed***</ToUserName>    <FromUserName>ofRsxuGNUpSuCBQVEF6YmbQ2y7dg</FromUserName>    <CreateTime>1445757243</CreateTime>    <MsgType>event</MsgType>    <Event>SCAN</Event>    <EventKey>123</EventKey>    <Ticket>gQH57zoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL3JrT0FPeG5tNjdhU3c5ZWpzRzI1AAIEAH8sVgMEgDoJAA==</Ticket>


这样子一个xml  我们需要做两件事情:


第一步操作数据库:把该xml解析成数组 FromUserName  判断数据库openid 有没有这个,若果没有insert语句:


insert into user (nickname,state,openid,ticket) values ('自己获取','0','从xml中获取','从xml中获取'),如果存在该openid了,说明该会员已经在系统中存在了对吧?更新下  update user set ticket='从xml中获取'  where openid='从xml中获取';   ok


第二步给扫码用户推送消息:   <a href='https://www.wlphp.com?openid=从xml获取的&ticket=从xml获取的'>您确定使用该微信账号登陆菜鸟博客吗?wlphp.com</a>


如果用户点击推送的a标签内容,执行操作 updtae user  set state=1 where openid='' and ticket='' ;如果用户不点击则不执行任何操作


4.wlphp.php的代码:


$sql="select * from user where ticket='{$_POST['ticket']}' and state=1";


一旦该sql可以取出数据:


就 创建session['nickname']等  然后update这条数据ticket为空 state为0


返回1   然后前台轮询js就会跳转登陆



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
微信公众平台----带参数二维码生成和扫描事件
原文:微信公众平台----带参数二维码生成和扫描事件 摘要: 账号管理----生成带参数的二维码 消息管理----接收消息----接收事件推送 为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。
2228 0
微信公众平台开发(83) 生成带参数二维码
本文介绍在微信公众平台上如何使用高级接口开发生成带参数二维码的功能。   一、场景二维码 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。
1133 0
Electron快速上手并将网站直接生成桌面应用
Electron快速上手并将网站直接生成桌面应用
53 0
docker dockerFile 参数解释,及生成jdk+tomcat镜像实例
Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的imag
5790 0
生态与兼容:MaxCompute大数据生态集成和开发工具
本文PPT来自阿里云数据事业部高级专家薛明/艺卓于10月15日在2016年杭州云栖大会上发表的《MaxCompute大数据生态集成和开发工具》。
4333 0
微信开发生成带参数的二维码的讲解
生成带参数的二维码”,通过这儿生成的二维码,只要通过微信扫一扫之后,会把事件自动推送到微信公众号上
28 0
开源项目|Go 开发的一款分布式唯一 ID 生成系统
开源项目|Go 开发的一款分布式唯一 ID 生成系统
31 0
+关注
王磊-phper
人都是这样,安慰别人的时候头头是道,自己遇上了,立马无法自拔,道理都懂,只是情绪作祟,故事太撩人。
228
文章
6
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载