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

2014-04-25 06:56:21  [ 技术 ]      留言:0      阅读:442

来源:http://www.com133.com/46


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

    首先到康盛官网下载UCenter 1.6.0,点此下载 下载解压安装(安装Ucenter时只需要upload目录中的文件),接下来将advanced目录下的uc_client目录和 advanced/examples/目录下的api目录 include目录以及文件config.inc.php拷贝到应用(你的网站)的跟目录,文件如下图:
Ucenter文件目录
可将config.inc.php中的代码清空,下面会提到如何修改此文件中的代码
登陆ucenter后台->应用管理->添加新应用

Ucenter应用管理

管理Ucenter应用


填写完点击提交 提示成功添加应用,在页面最下方找到
Ucenter1.6整合
拷贝到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通信成功
在应用中实现同步注册与登录功能
同步注册
注册使用UCenter的统一注册函数uc_user_register(),如果注册成功则返回用户id,
返回用户id后,再在应用中同步写入数据
注册时要引入config.inc.php和uc_client/client.php两个文件(顺序不能颠倒)
  1. $uid uc_user_register(
  2.     $_POST['username'],$_POST['password'],$_POST['email']
  3. );
  4. if($uid <= 0) {
  5.     if($uid == -1) {
  6.        echo '用户名不合法';
  7.        } elseif($uid == -2) {
  8.            echo '包含要允许注册的词语';
  9.        } elseif($uid == -3) {
  10.            echo '用户名已经存在';
  11.        } elseif($uid == -4) {
  12.            echo 'Email 格式有误';
  13.        } elseif($uid == -5) {
  14.            echo 'Email 不允许注册';
  15.        } elseif($uid == -6) {
  16.                 echo '该 Email 已经被注册';
  17.        } else {
  18.                 echo '未定义';
  19.        }
  20.    }else {
  21.             $username $_POST['username'];
  22.    }
  23.     if($username) {
  24.       //这里同步应用数据库(将注册信息写入到应用数据库中)
  25.     }
登陆
登陆使用
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 也可以 点此下载


来源:http://www.com133.com/46


留言:


    更换校验码     

无觅相关文章插件,快速提升流量
分享到:
友荐云推荐 Process: 0.0334s ( Load:0.0003s Init:0.0007s Exec:0.0185s Template:0.0139s ) | DB :14 queries 1 writes | UseMem:3,032 kb