最近公司项目要用到SNS,在具体采取解决方案上面由于项目由一实力较强的外包公司做,所以没有采用商业解决方案.不过本人一直比较看好康盛的产品,因为被外派到外包公司去负责项目,尽管以前用的SNS也在不少,也曾对SNS进行过插件开发以及整合,不过还真没彻底搞透UCenter的灵活应用.这不找了一些资料研究研究.听说最近UCHome都上2.0了,好像上半年还用的是1.5的呢...                     武汉百度公司

PS:感觉博客里面加点图片装饰一下还是挺好看的....

原文地址:http://www.rexqiu.com/?p=44

第一步:下载安装UCenter,这里就不详细说了,网上很多教程

1.下载UCenter
下载地址:http://www.comsenz.com/downloads/install

2.安装UCenter
图文安装教程:http://www.discuz.net/viewthread.php?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’, ‘http://yourwebsite/uc_server’); // 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文件所在目录,一般放在根目录,就是填http://www.abc.com),通讯密匙你喜欢随便填,应用类型选其他,开启同步登陆,接收通知

提交之后会生成一段应用的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我

[转]网站整合Ucenter详细流程相关推荐

  1. 网站整合Ucenter详细流程

    第一步:下载安装UCenter,这里就不详细说了,网上很多教程   1.下载UCenter 下载地址:   2.安装UCenter   第二步:打开下载UCenter文件夹内的advanced文件夹, ...

  2. 微信开发,微网站开发的详细流程

    把公司开设在微信上,把自己的生意装到用户的手机里,传统生意要做到互联网上,要有互联网站,在移动互联网上,就需要有微网站.对企业而言,微网站不仅是企业的一个手机版网站,更是移动互联网时代的企业应用与商业 ...

  3. PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)

    为什么80%的码农都做不了架构师?>>>    1)准备工作 1.蚂蚁金服开放平台的商户账号(个人账号不行) 2.php5.5以上的开发环境 (2)具体流程 1.demo下载 进入蚂 ...

  4. (转载)PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)

    转自用户YuiJar 先附上我开始做沙箱测试的时候写的笔记 (1)准备工作 1.蚂蚁金服开放平台的商户账号(个人账号不行) 2.php5.5以上的开发环境 (2)具体流程 1.demo下载 进入蚂蚁金 ...

  5. 支付宝手机网站支付开发详细流程

    首先创建调用支付宝支付接口的配置类 public class AlipayConfig {// 商户appidpublic static String APPID = "";// ...

  6. 工信部备案成功后 网站公安备案详细流程![图]

    https://www.sohu.com/a/290648729_120088051 填写网络接入服务商信息和填写域名注册服务商信息 请登录阿里云代备案系统查看您的备案号,并请您按照<非经营性互 ...

  7. php ucenter,Thinkphp整合Ucenter视频教程

    课程知识点:在本视频课程中你将学会以下知识--了解Ucenter的功能及程序结构,了解Thinkphp整合Ucenter并应用,了解Thinkphp整合Ucenter的流程. 课程特色:由浅入深,条理 ...

  8. SpringBoot整合Mybatis超详细流程

    SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...

  9. 初学者制作自己的网站详细流程(可以上传自己做的网页)

    制作自己的网站详细流程(可以上传自己做的网页) 自己以前做网页都是仅仅做一下,在本地看一下效果.但是最近需要做一个网站在手机上来展示自己网页内容,搜了一下资料,需要用到域名与主机.可能部分朋友不知道它 ...

最新文章

  1. Android ListView 删除 item
  2. null in JavaScript
  3. Python中提示:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position
  4. Mybatis 系列使用记录
  5. 理解 Python 中的线程
  6. C语言中int转char型
  7. 有线以太网RJ45网口转无线WiFi,网卡转wifi,有线转无线,RJ45转wifi方案
  8. 2018 icpc 焦作站现场赛 E题题解
  9. 关于Random(47)与randon.nextInt(100)的区别
  10. 读取文件并输出,输出时将小写字母转为大写
  11. 32岁,我从公司离职了,是裸辞......
  12. 为什么老派摄影师认为您只是个时髦的时髦
  13. python学生信息管理系统项目总结_学生信息管理系统案例小结
  14. 嵌入式工控机在舞台灯光控制中的应用
  15. python生成图像公章,用PPT就可以做印章?是的,超简单超逼真,教你一分钟搞定...
  16. 第十三周项目4—立体类族共有的抽象类
  17. 换机心得,安卓旧手机数据转新手机的要点
  18. Day06-简单除法(division)和取余(Surplus)
  19. 充电桩加盟有免费的吗
  20. PS模仿任何照片色调

热门文章

  1. HanLP --- 依存句法分析
  2. matlab输入符号怎么打,matlab 输入符号
  3. CUDA实例系列一: 矩阵乘法优化
  4. Unix下 压缩和解压缩命令
  5. mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)
  6. wpsjs插件开发-采用js和wps交互功能
  7. python计算列表里各科的成绩(算法)
  8. mysql声明变量关键字_声明变量的关键字
  9. 我们为你精选了一份Jupyter/IPython笔记本集合-上篇
  10. mysql中如何求出学生人数,mysql中如何查询同时参加计算机考试和英语考试的学生人数...