[转]网站整合Ucenter详细流程
最近公司项目要用到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详细流程相关推荐
- 网站整合Ucenter详细流程
第一步:下载安装UCenter,这里就不详细说了,网上很多教程 1.下载UCenter 下载地址: 2.安装UCenter 第二步:打开下载UCenter文件夹内的advanced文件夹, ...
- 微信开发,微网站开发的详细流程
把公司开设在微信上,把自己的生意装到用户的手机里,传统生意要做到互联网上,要有互联网站,在移动互联网上,就需要有微网站.对企业而言,微网站不仅是企业的一个手机版网站,更是移动互联网时代的企业应用与商业 ...
- PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)
为什么80%的码农都做不了架构师?>>> 1)准备工作 1.蚂蚁金服开放平台的商户账号(个人账号不行) 2.php5.5以上的开发环境 (2)具体流程 1.demo下载 进入蚂 ...
- (转载)PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)
转自用户YuiJar 先附上我开始做沙箱测试的时候写的笔记 (1)准备工作 1.蚂蚁金服开放平台的商户账号(个人账号不行) 2.php5.5以上的开发环境 (2)具体流程 1.demo下载 进入蚂蚁金 ...
- 支付宝手机网站支付开发详细流程
首先创建调用支付宝支付接口的配置类 public class AlipayConfig {// 商户appidpublic static String APPID = "";// ...
- 工信部备案成功后 网站公安备案详细流程![图]
https://www.sohu.com/a/290648729_120088051 填写网络接入服务商信息和填写域名注册服务商信息 请登录阿里云代备案系统查看您的备案号,并请您按照<非经营性互 ...
- php ucenter,Thinkphp整合Ucenter视频教程
课程知识点:在本视频课程中你将学会以下知识--了解Ucenter的功能及程序结构,了解Thinkphp整合Ucenter并应用,了解Thinkphp整合Ucenter的流程. 课程特色:由浅入深,条理 ...
- SpringBoot整合Mybatis超详细流程
SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...
- 初学者制作自己的网站详细流程(可以上传自己做的网页)
制作自己的网站详细流程(可以上传自己做的网页) 自己以前做网页都是仅仅做一下,在本地看一下效果.但是最近需要做一个网站在手机上来展示自己网页内容,搜了一下资料,需要用到域名与主机.可能部分朋友不知道它 ...
最新文章
- Android ListView 删除 item
- null in JavaScript
- Python中提示:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position
- Mybatis 系列使用记录
- 理解 Python 中的线程
- C语言中int转char型
- 有线以太网RJ45网口转无线WiFi,网卡转wifi,有线转无线,RJ45转wifi方案
- 2018 icpc 焦作站现场赛 E题题解
- 关于Random(47)与randon.nextInt(100)的区别
- 读取文件并输出,输出时将小写字母转为大写
- 32岁,我从公司离职了,是裸辞......
- 为什么老派摄影师认为您只是个时髦的时髦
- python学生信息管理系统项目总结_学生信息管理系统案例小结
- 嵌入式工控机在舞台灯光控制中的应用
- python生成图像公章,用PPT就可以做印章?是的,超简单超逼真,教你一分钟搞定...
- 第十三周项目4—立体类族共有的抽象类
- 换机心得,安卓旧手机数据转新手机的要点
- Day06-简单除法(division)和取余(Surplus)
- 充电桩加盟有免费的吗
- PS模仿任何照片色调
热门文章
- HanLP --- 依存句法分析
- matlab输入符号怎么打,matlab 输入符号
- CUDA实例系列一: 矩阵乘法优化
- Unix下 压缩和解压缩命令
- mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)
- wpsjs插件开发-采用js和wps交互功能
- python计算列表里各科的成绩(算法)
- mysql声明变量关键字_声明变量的关键字
- 我们为你精选了一份Jupyter/IPython笔记本集合-上篇
- mysql中如何求出学生人数,mysql中如何查询同时参加计算机考试和英语考试的学生人数...