|
第一步:打开下载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的各种参数,
- 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.***.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']);
- if($uid>0){
- //用户登陆成功,设置Cookie,加密直接用uc_authcode函数,用户使用自己的函数
- //我这里并没有自己的user表。如果有的话要做一些判断
- //生成同步登录的代码
- $ucsynlogin=uc_user_synlogin($uid);
- /**
- *$ucsynlogin 这就是同步登录的代码,你可以打印下这个代码,你就可以看到,你ucenter有几个应用,他就会 生成多少个js代码,而这些代码就是去通知其他站点同步登录的,所以这些代码需要在页面上面执行才能实现同步登录功能。代码修改完了之后,你需要把 ucenter后台应用里面的同步登录和同步退出选择上
- **/
- }elseif($uid==-1){
- //echo '用户不存在,或者被删除';
- }
- }elseif($uid==-2){
- //echo '密码错';
- }else{
- //echo '未定义';
- }
复制代码 用户注册
- $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{
- //注册成功
- //我应用没有自己的user表所以直接登陆
- //如果应用有自己的user表这里也要插入用户注册信息
- }
复制代码 退出
- //同步退出bbs//生成同步退出的代码
- $ucsynlogout = uc_user_synlogout();
复制代码
|
|