吾知网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6089|回复: 0
打印 上一主题 下一主题

使用ucenter在第三方应用中实现同步注册与登录

[复制链接]
跳转到指定楼层
楼主
发表于 2015-11-10 18:03:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先到康盛官网下载UCenter 1.6.0,点此下载 下载解压安装(安装Ucenter时只需要upload目录中的文件),接下来将advanced目录下的uc_client目录和advanced/examples/目录下的api目录 include目录以及文件config.inc.php拷贝到应用(你的网站)的跟目录,文件如下图:

可将config.inc.php中的代码清空,下面会提到如何修改此文件中的代码
登陆ucenter后台->应用管理->添加新应用


填写完点击提交 提示成功添加应用,在页面最下方找到

拷贝到config.inc.php中(将config.inc.php中的内容全部删除后覆盖即可)
将以下代码也拷贝到config.inc.php中 (需要拷贝在文件末尾)
$dbhost = UC_DBHOST;            // 数据库服务器
$dbuser = UC_DBUSER;            // 数据库用户名
$dbpw = UC_DBPW;                // 数据库密码
$dbname = UC_DBNAME;            // 数据库名
$pconnect = 0;                // 数据库持久连接 0=关闭, 1=打开
$tablepre = UC_DBTABLEPRE;           // 表名前缀
$dbcharset = UC_DBCHARSET;            // MySQL 字符集, 可选 'gbk', 'big5', 'utf8'
//同步登录 Cookie 设置
$cookiedomain = '';             // cookie 作用域
$cookiepath = '/';            // cookie 作用路径
再回到应用管理会看到

在应用中实现同步注册与登录功能
同步注册
注册使用UCenter的统一注册函数uc_user_register(),如果注册成功则返回用户id,
返回用户id后,再在应用中同步写入数据
注册时要引入config.inc.php和uc_client/client.php两个文件(顺序不能颠倒)
  • $uid = uc_user_register(
  •     $_POST['username'],$_POST['password'],$_POST['email'
  • );
  • if($uid <= 0) {
  •     if($uid == -1) {
  •        echo '用户名不合法';
  •        } elseif($uid == -2) {
  •            echo '包含要允许注册的词语';
  •        } elseif($uid == -3) {
  •            echo '用户名已经存在';
  •        } elseif($uid == -4) {
  •            echo 'Email 格式有误';
  •        } elseif($uid == -5) {
  •            echo 'Email 不允许注册';
  •        } elseif($uid == -6) {
  •                 echo '该 Email 已经被注册';
  •        } else {
  •                 echo '未定义';
  •        }
  •    }else {
  •             $username = $_POST['username'];
  •    }
  •     if($username) {
  •       //这里同步应用数据库(将注册信息写入到应用数据库中)
  •     }

登陆
登陆使用
list($uid, $username, $password, $email) =
uc_user_login($_POST['username'], $_POST['password']);
判断返回的$uid是否大于0
如果$uid == -1 表示用户不存在,$uid == -2 密码错误 其他小于0的值未定义
如果大于0说明ucenter系统中是存在该用户的,然后判断本应用中是否存在该用户,如果也存在则设置登陆状态
同时调用全局登陆方法
$ucsynlogin = uc_user_synlogin($uid); //将返回值输出即可
退出比较简单

$ucsynlogout = uc_user_synlogout();//同步退出代码

本文用到的ucenter 1.6 也可以 点此下载


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|吾知网 ( 粤ICP备13013563号-1 )

GMT+8, 2024-12-22 20:54 , Processed in 1.078125 second(s), 8 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表