ecshop 集成新浪微博登录功能,绝的可用。
2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家
最近网站想添加新浪微博登录功能,于是在网上搜索了下,下载了一个插件的放我网站里面没效果,所以觉定自己动手试试,本人php新手说得不到之处还望大侠高手们多多指教。 演示站:www.diy520.cn 1.先去http://open.weibo.com/ 这里申请app 2.下载最新http://code.google.com/p/libweibo/downloads/list插件包 2.1其中需要修改config.php文件 define( "WB_AKEY" , '申请的到的key ); define( "WB_SKEY" , '相对应的App Secret' ); define( "WB_CALLBACK_URL" , 'http://域名/login/callback.php' ); 2.2修改文件callback.php <?php session_start(); define('IN_ECS', true); require('../includes/init.php'); include_once('../includes/lib_transaction.php'); include_once('../includes/lib_passport.php'); include_once( 'config.php' ); include_once( 'saetv2.ex.class.php' ); $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY ); if (isset($_REQUEST['code'])) { $keys = array(); $keys['code'] = $_REQUEST['code']; $keys['redirect_uri'] = WB_CALLBACK_URL; try { $token = $o->getAccessToken( 'code', $keys ) ; } catch (OAuthException $e) { } } if ($token) { $_SESSION['token'] = $token; setcookie( 'weibojs_'.$o->client_id, http_build_query($token) ); $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] ); $ms= $c->home_timeline(); // done $uid_get = $c->get_uid(); $uid = $uid_get['uid']; $user_message = $c->show_user_by_id( $uid);//根据ID获取用户等基本信息 function check_user($username){ $sql = "SELECT user_id, password, salt " . " FROM " . $GLOBALS['ecs']->table("users"). " WHERE user_name='$username'"; $row = $GLOBALS['db']->getRow($sql); if (!empty($row)){ return true; }else{ return false; } } if($user_message['screen_name']!==""){ //获取微薄昵称 $username=$user_message['screen_name']; $password=time();//随便弄个密码 反正没有用 [url=mailtoemail=]$email='123456@163.com';//[/url]随便默认个邮箱 $back_act ="/user.php"; if (check_user($username)!==false){ $GLOBALS['user']->set_session($username); $GLOBALS['user']->set_cookie($username); header("Location: /user.php\n");//验证成功,跳转页面 exit; }else{ $reg_date = time(); $password =md5($password); $ip=real_ip(); $GLOBALS['db']->query('INSERT INTO ' . $GLOBALS['ecs']->table("users") . "(`email`, `user_name`, `password`, `reg_time`, `last_login`, `last_ip`) VALUES ('$email', '$username', '$password', '$reg_date', '$reg_date', '$ip')"); $GLOBALS['user']->set_session($username); $GLOBALS['user']->set_cookie($username); header("Location: /user.php\n"); exit; } }else{ echo 'fail'; exit; } ?> <?php } else { ?> 授权失败。 <?php } ?> 修改的就这两文件,其中weibolist.php可以删除 3.然后将config.php、callback.php、index.php、saetv2.ex.class.php四个文件放login文件夹上传空间就行了。 到这基本就完成了功能了,希望对有需要的有所帮助。最后希望大家支持下小弟的小站www.diy520.cn |
回答:
自己支持下,别浪费我的心血了,好歹也弄了半天。呵呵 |
占个位子 |
必须支持 |
有点小乱~~ |
凑下热闹 |
学习下 |
下面有完整的文件下载。其实改动的第就2个文件 |
凑下热闹 |
$email 给这个变量赋值。前面的那截需要删掉[url=mailtoemail=] 后面的这个[/url]也删除 |
研究下! |
最近更新
常用插件
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
ecshop热门问答
ecshop热门资料
自增id
ecshop卡通
ecshopwatermark
ecshopwap
ecshop价格四舍五入了
ecshopmd5加密
ecshop在线等
ecshop推广
ecshopneed
ecshop垃圾邮件
ecshop抽奖
ecshop紧急求助
ecshop火狐浏览器
ecshopPayNow
ecshop怎么办
ecshop晒晒
ecshop文章、访问、权限
dedecms搜索功能
ecshop男士
ecshop平台
ecshop列队
ecshop阿里旺旺
ecshop链接串字符
ecshop韩语
ecshop会员中心菜单
ecshopvdakhbclcj
ecshop精神分裂
ecshop修正
ecshop网店交流
ecshop多余商品