使用ucenter在第三方应用中实现同步注册与登录
首先到康盛官网下载UCenter 1.6.0,点此下载 下载解压安装(安装Ucenter时只需要upload目录中的文件),接下来将advanced目录下的uc_client目录和advanced/examples/目录下的api目录 include目录以及文件config.inc.php拷贝到应用(你的网站)的跟目录,文件如下图:http://www.com133.com/Public/Uploads/upimages/20120822/1345650716.png
可将config.inc.php中的代码清空,下面会提到如何修改此文件中的代码
登陆ucenter后台->应用管理->添加新应用
http://www.com133.com/Public/Uploads/upimages/20120822/1345650805.jpghttp://www.com133.com/Public/Uploads/upimages/20120822/1345650840.jpg
填写完点击提交 提示成功添加应用,在页面最下方找到
http://www.com133.com/Public/Uploads/upimages/20120822/1345650890.png
拷贝到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 作用路径
再回到应用管理会看到
http://www.com133.com/Public/Uploads/upimages/20120822/1345651001.png
在应用中实现同步注册与登录功能
同步注册
注册使用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 也可以 点此下载
页:
[1]