您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > php实现新浪微博同步登录(代码及教程)
php实现新浪微博同步登录功能还是很简单的,在新浪微博phpsdk上加入登录模块很容易搞定,下面说说php点点通的实现新浪微博同步登录的过程,主要原理是在新浪微博登录授权后,将access_token后者其他信息保存在本地数据库中,这样其实就实现了绑定,下次用户登录数只要判断access_token存在,就表明该用户存在数据库,登录成功!首先要分析我们要处理下面这几种登录情况:(本php教程由提供)1.数据库有该用户,直接登录!判断用户和密码后,登录后要考虑是否绑定新浪微博2.数据库有该用户,新浪微博登录!判断access_token字段是否存在,存在则登录成功,不存在则登录失败2.数据库没有该用户,新浪微博登录无效!提示该用户注册实现过程:首先建立数据库:(如下截图)说明:test数据库里面有一张user表,其中access_token字段是记录新浪微博用户的access_token!我的文件目录格式为:说明:我是把phpsdk包放在api文件夹里面,对了,上面phpinfo.php是没有的,截图失误!源码如下:登录页面login.php:?phpheader(Content-type:text/html;charset=utf-8);session_start();include_once('./api/config.php');include_once('./api/saetv2.ex.class.php');$o=newSaeTOAuthV2(WB_AKEY,WB_SKEY);$code_url=$o-getAuthorizeURL(WB_CALLBACK_URL);/**/if(!empty($_POST['submit'])){$mysqli=newmysqli('localhost','root','','test');$username=$_POST['username'];$password=MD5($_POST['password']);$sql=select*from`user`where`username`='$username'and`password`='$password';$query=$mysqli-query($sql);$row=$query-fetch_array();if($row[0]){$_SESSION['id']=$row['id'];header(Location:user.php);}else{echo用户名或密码错误;}}?formmethod=post用户:inputtype=textname=username/br/密码:inputtype=passwordname=password/inputtype=submitname=submitvalue=登录/ahref=?phpecho$code_url?新浪微博登录/a/form登录后用户页面user.php:?phpheader(Content-type:text/html;charset=utf-8);session_start();if(!empty($_SESSION['id'])){$mysqli=newmysqli('localhost','root','','test');$sql=select*from`user`whereid=.$_SESSION['id'].;$query=$mysqli-query($sql);$row=$query-fetch_array();echo登录成功,欢迎:.$row['username'];if($row['access_token']){echo你的微博账号已经绑定!;}else{echo===绑定新浪微博?ahref=\./api/index.php\进入/a;}}else{echo登录失败,ahref=\../login.php\返回到登录页面a/;}?微博登录绑定页面:weibolist.php?phpheader(Content-type:text/html;charset=utf-8);session_start();include_once('config.php');include_once('saetv2.ex.class.php');$mysqli=newmysqli('localhost','root','','test')ordie(connectwrong!);$sql=select*from`user`where`access_token`='{$_SESSION['token']['access_token']}';$res=$mysqli-query($sql);$row=$res-fetch_array();if(!empty($row['access_token'])){$_SESSION['id']=$row['id'];header(Location:../user.php);}else{if(!empty($_SESSION['id'])){//进行绑定$sql=update`user`set`access_token`='{$_SESSION['token']['access_token']}'where`id`={$_SESSION['id']};$mysqli-query($sql);header(Location:../user.php);}else{echo用户不存在,ahref=\../login.php\返回登录页面进行注册/a;}}$res-free();$mysqli-close();?其他页面源码不变,如api文件里面config.php一定要正确填写app_keyapp_secrect和回调页面callback地址!效果图如下:提供源码下载:(需要自己配置app_keyapp_secrect和回调页面callback地址!)[phpddt.com]SinaWeibo.rar(我是新手,程序难免错误,请多多指教!)欢迎转载!原文地址:,转载请注明地址,谢谢!
本文标题:php实现新浪微博同步登录(代码及教程)
链接地址:https://www.777doc.com/doc-2886811 .html