网站整合Ucenter详细流程

最近公司项目要用到SNS,在具体采取解决方案上面由于项目由一实力较强的外包公司做,所以没有采用商业解决方案.不过本人一直比较看好康盛的产 品,因为被外派到外包公司去负责项目,尽管以前用的SNS也在不少,也曾对SNS进行过插件开发以及整合,不过还真没彻底搞透UCenter的灵活应用. 这不找了一些资料研究研究.听说最近UCHome都上2.0了,好像上半年还用的是1.5的呢...                     武汉百度公司
 
       PS:感觉博客里面加点图片装饰一下还是挺好看的....
 
       原文地址:?p=44
 
第一步:下载安装UCenter,这里就不详细说了,网上很多教程
 
1.下载UCenter
下载地址:
 
2.安装UCenter
图文安装教程:?tid=897809
 
第二步:打开下载UCenter文件夹内的advanced文件夹,这里就是接口文件啦,里面的document就是接口的API说明,examples文件夹就是一些使用例子,按照这些例子会很快掌握你想要达到的效果,uc_client是接口文件。

第三步:从examples文件夹中复制include文件夹到你网站根目录,文件夹内包含一个文件叫db_mysql.class.php,这是连接数据库的类。
 
第四步:将uc_client文件夹整个复制到你网站根目录,uc_client之前说了是接口代码,现在根目录已经有include和uc_client两个文件夹了。
 
第五步:复制examples文件夹内的config.inc.php到你网站的根目录,这是配置UCenter的配置文件
 
第六步:配置config.inc.php的各种参数,参数里面已经写的很详细了
 
<?php
 
define(’UC_CONNECT’, ‘mysql’);    // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()
       // mysql 是直接连接的数据库, 为了效率, 建议采用 mysql
 
//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
define(’UC_DBHOST’, ‘localhost’);   // UCenter 数据库主机
define(’UC_DBUSER’, ‘root’);    // UCenter 数据库用户名
define(’UC_DBPW’, ”);     // UCenter 数据库密码
define(’UC_DBNAME’, ‘ucenter’);    // UCenter 数据库名称
define(’UC_DBCHARSET’, ‘gbk’);    // UCenter 数据库字符集
define(’UC_DBTABLEPRE’, ‘ucenter.uc_’);   // UCenter 数据库表前缀
 
//通信相关
define(’UC_KEY’, ‘123456789′);    // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define(’UC_API’, ‘’); // UCenter 的 URL 地址, 在调用头像时依赖此常量
define(’UC_CHARSET’, ‘gbk’);    // UCenter 的字符集
define(’UC_IP’, ”);     // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define(’UC_APPID’, 1);     // 当前应用的 ID

//ucexample_2.php 用到的应用程序数据库连接参数
$dbhost = ‘localhost’;   // 数据库服务器
$dbuser = ‘root’;   // 数据库用户名
$dbpw = ”;    // 数据库密码
$dbname = ‘ucenter’;   // 数据库名
$pconnect = 0;    // 数据库持久连接 0=关闭, 1=打开
$tablepre = ‘example_’;     // 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = ‘gbk’;   // MySQL 字符集, 可选 ‘gbk’, ‘big5′, ‘utf8′, ‘latin1′, 留空为按照论坛字符集设定
 
//同步登录 Cookie 设置
$cookiedomain = ”;    // cookie 作用域
$cookiepath = ‘/’;   // cookie 作用路径
 
其中通讯密匙需要自己去已经安装好的UCenter系统中填写
 
登陆UCenter后点击左侧应用管理,右方有添加新应用,选择自定义安装,填写应用名称,应用的URL(就是config.inc.php文件所在目录,一般放在根目录,就是填),通讯密匙你喜欢随便填,应用类型选其他,开启同步登陆,接收通知
 
提交之后会生成一段应用的UCenter配置信息,复制这些配置信息覆盖到config.inc.php对应这部分的信息

配置信息这边就告一段落了,开始正式整合UCenter了
 
第七步:将以下代码加入到你需要使用到UCenter的地方(我是加到所有文件都包含的common.php里)
 
include_once ‘config.inc.php’;
include_once ‘include/db_mysql.class.php’;
$db = new dbstuff;
$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
include_once ‘uc_client/client.php’;
 
如此一来整合就完成了,你只需要加入你需要的接口函数即可通讯到UCenter,以下只介绍同步注册,登陆,退出,其他功能可以参考API
 
同步登陆BBS(这个版本我有改良到,做了自动激活):
 
list($uid, $username, $password, $email) = uc_user_login($_POST[‘username‘], $_POST[‘pw‘]);
 
//这里输入用户的用户名和密码
 
setcookie(’auth’, ”, -86400);
if($uid > 0) {
   if(!$db->result_first(”SELECT count(*) FROM {$tablepre}members WHERE uid=’$uid’”)) {
    //判断用户是否存在于用户表,不存在则跳转到激活页面
    //$auth = rawurlencode(uc_authcode(”$username/t”.time(), ‘ENCODE’));
    //echo ‘您需要需要激活该帐号,才能进入本应用程序<br><a
href=”bbs/logging.php?example=register&action=activation&
auth=’.$auth.’”>继续</a>’;
    $tmp = $db->query(”select count(*) from {$tablepre}members where uid=”.$uid);
    if(!($userNotexist = $db->result($tmp))){
     $sql = “insert into {$tablepre}members
(uid,username,email,groupid,timeoffset) values
({$uid},’{$username}’,‘{$email}’,‘10′,’9999′)”;
     $sql = $db->query($sql);
     $sql = “insert into {$tablepre}memberfields (uid) values ({$uid})”;
     $sql = $db->query($sql);
    }
   }

//用户登陆成功,设置 Cookie,加密直接用 uc_authcode 函数,用户使用自己的函数
   setcookie(’auth’, uc_authcode($uid.”/t”.$username, ‘ENCODE’));
   //生成同步登录的代码
   $ucsynlogin = uc_user_synlogin($uid);
 
   echo $ucsynlogin.’<br><a href=”‘.$_SERVER[‘PHP_SELF‘].’”></a>’;
 
} elseif($uid == -1) {
   // echo ‘用户不存在,或者被删除’;

}
}elseif($uid == -2) {
   //echo ‘密码错’;
} else {
   //echo ‘未定义’;
}
 
同步注册:
 
//同步注册ucenter
$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 {

//同步登陆bbs
   list($uid, $username, $password, $email) = uc_user_login($_POST[‘username‘], $_POST[‘password‘]);
   setcookie(’auth’, ”, -86400);
   if(!$db->result_first(”SELECT count(*) FROM {$tablepre}members WHERE uid=’$uid’”)) {
    //判断用户是否存在于用户表,不存在则跳转到激活页面
    //$auth = rawurlencode(uc_authcode(”$username/t”.time(), ‘ENCODE’));
   // echo ‘您需要需要激活该帐号,才能进入本应用程序<br><a
href=”bbs/logging.php?example=register&action=activation&
auth=’.$auth.’”>继续</a>’;
    $tmp = $db->query(”select count(*) from {$tablepre}members where uid=”.$uid);
    if(!($userNotexist = $db->result($tmp))){
     $sql = “insert into {$tablepre}members
(uid,username,email,groupid,timeoffset) values
({$uid},’{$username}’,‘{$email}’,‘10′,’9999′)”;
     $sql = $db->query($sql);
     $sql = “insert into {$tablepre}memberfields (uid) values ({$uid})”;
     $sql = $db->query($sql);
    }
   }
   //用户登陆成功,设置 Cookie,加密直接用 uc_authcode 函数,用户使用自己的函数
   setcookie(’auth’, uc_authcode($uid.”/t”.$username, ‘ENCODE’));
   //生成同步登录的代码
   $ucsynlogin = uc_user_synlogin($uid);
   echo $ucsynlogin.’<br><a href=”‘.$_SERVER[‘PHP_SELF‘].’”></a>’;
  
        //注册成功,设置 Cookie,加密直接用 uc_authcode 函数,用户使用自己的函数
       // setcookie(’auth’, uc_authcode($uid.”/t”.$_POST[‘username‘], ‘ENCODE’));
        //echo ‘注册成功<br><a href=”‘.$_SERVER[‘PHP_SELF‘].’”>继续</a>’;
    }

同步退出:
 
//同步退出bbs
setcookie(’auth’, ”, -86400);
//生成同步退出的代码
$ucsynlogout = uc_user_synlogout();
echo ”.$ucsynlogout.’<br><a href=”‘.$_SERVER[‘PHP_SELF‘].’”></a>’;
 
 
 
也许会有些代码会贴错或写错,所以以上只供参考,如果有什么地方不明白,请回复或Email我

时间: 2024-08-01 08:46:27

网站整合Ucenter详细流程的相关文章

搞定支付接口—支付宝即时到账支付接口详细流程和代码

搞定支付接口(一) 支付宝即时到账支付接口详细流程和java代码 为避免你们和我一样被支付接口搞得焦头烂额,写一个从申请开始到能收到钱为止的详细教程,实际上各个语言都可以用来集成支付接口,我用java来举例. 正所谓知己知彼,百战不殆.首先,我们来看一看支付宝平台给我们的说明. 打开支付宝 选择商家平台 选择电脑支付 进行如上操作后,来到如下图所示的页面 没有商家支付宝账号的需要注册,需要营业执照,经营信息,网址信息,联系人等等数据(图里说的很详细) 服务开通后,我们就可以集成了,我们点击如何集

企业内部部署一套完整的DNS详细流程

企业内部部署一套完整的DNS详细流程 ? 1) 环境说明 ? 1. 共需要7台主机,各自的角色如下: A. 192.168.36.6(OS6):test B. 192.168.36.7(OS7):localdns C. 192.168.36.17(OS7):rootdns D. 192.168.36.27(OS7):comdns E. 192.168.36.37(OS7):master F. 192.168.36.47(OS7):slave G. 192.168.36.57(OS7):www 2

Atitit.故障排除系列---php 程序网站数据库错误排除流程

Atitit.故障排除系列---php 程序网站数据库错误排除流程 Php页面报告的错误不能定位到myusql的db配置上...字说是db conn err Mysql 接入错误...大概查看哈能不能行上配置文件..三,心不死,子能trace兰... 作者::老哇的爪子Attilax艾龙,EMAIL:[email protected] 转载请注明来源: http://blog.csdn.net/attilax Index.php error_reporting(E_ALL  ); 中间,走不个c

AppStore与GooglePlay游戏安全支付服务器模式详细流程

AppStore与GooglePlay游戏安全支付服务器模式详细流程 整体拓扑架构图见:http://www.cnblogs.com/legendstudio/p/4917617.html

Ubuntu12.04编译vlc-android详细流程

作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 摘要:本文主要介绍vlc-android在ubuntu下编译的过程. 最近研究了下 vlc-android 的编译,网上一搜资料确实不少,不过大部分都是千遍一律(也不否认有非常详细的).不能说这些都毫无价值,多少也能给编译vlc带来一些线索. 编译环境使用的是64位ubun

QtWebkit里RenderLayer树的绘制详细流程分析

QtWebkit里,QWebView,QWebPage和QWebFrame的关系如下: QtWebKit从绘制事件(Qt的paint)发出,到WebCore里面的RenderLayers树的绘制详细流程分析如下. 首先是QWidget收到paintEvent,发送给Qt的QWebView,在QWebView里,创建Qt的画笔QPainter,并基于此画笔创建绘图上下文:GraphicContext,然后使用此画笔再调用Qt的QWebFrame的渲染函数render把这个QWebFrame绘制到裁

Android 2.3发短信详细流程

在android中,APP通过SmsManager.java一系列方法实现发送短信的功能,而发送的内容有很很多种,比如sendTextMessage.sendMultipartTextMessage.sendDataMessage等等,在这篇文章里我们就以其中一个为例阐述发送短信的完整流程,如果有不对的地方,请大家指正,一起学习. 1. 起点:SmsManager.java (frameworks/base/telephony/java/android/telephony/SmsManager.

做一个网站一般的步骤流程有哪些

随着互联网的快速发展,网络给人们的生活带来了极大便利,人们也越来越离不开互联网.而互联网上绝大部分信息都是以网页形式呈现给我们用户的,所以作为一个企业,想办法去宣传企业产品和形象是非常重要的.那么现在,你是不是也想拥有自己的网站来展现自己的品牌,让千千万万的人都能看到.现在代潇瑞博客就给大家讲讲网站建设的一些流程: 1.了解你的需求 在建设网站前首先考虑的你的需求,你要用来做什么,只有将这些考虑好了,整体策划才有方向,前期规划的好坏会直接影响网站的运营效果,它是网站建设必须要做的工作.根据做好的

DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)

DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现) @author:wepon @blog:http://blog.csdn.net/u012162613/article/details/43277187 本文代码下载地址:我的github 本文主要讲解将CNN应用于人脸识别的流程,程序基于python+numpy+theano+PIL开发,采用类似LeNet5的CNN模型,应用于olivettifaces人脸数据库,实现人脸识别的功能,模型的