准备工作
1.下载ucenter源码,并安装好
2.下载ucenter开发源码,根据自己的项目下载对应版本(utf-8
ucenter-utf-8.rar
,gbk
ucenter-gbk.rar )
解压好之后,在里面能够看到三个文件夹与一个文件,全部copy到自己的项目根目录。
然后进入ucenter后台,创建应用。
应用类型:选择其他
应用名称:自己填写
应用的主URL:填写yii项目的网址
应用IP:填写yii项目的ip地址
是否开启同步登陆:选择是
是否接受通知:选择是
设置好后,点击提交即可。
提交完成后,查看下面的:应用的UCenter配置信息
将里面的信息全部复制一下。
然后找到yii项目的根目录,找到:config.inc.php
将里面的这段信息:
[代码]php代码:01 | define( 'UC_CONNECT' , 'mysql' ); |
02 | define( 'UC_DBHOST' , 'localhost' ); |
03 | define( 'UC_DBUSER' , 'root' ); |
04 | define( 'UC_DBPW' , '123' ); |
05 | define( 'UC_DBNAME' , 'ucenter' ); |
06 | define( 'UC_DBCHARSET' , 'utf8' ); |
07 | define( 'UC_DBTABLEPRE' , '`ucenter`.uc_' ); |
08 | define( 'UC_DBCONNECT' , '0' ); |
09 | define( 'UC_KEY' , 'adbejSMW8DCySKMscciI42C0scpGwPvasAy2is4' ); |
10 | define( 'UC_API' , 'http://127.0.0.1/ucenter' ); |
11 | define( 'UC_CHARSET' , 'utf-8' ); |
13 | define( 'UC_APPID' , '4' ); | 替换成刚才复制的信息。
然后看下面这段信息:
[代码]php代码:1 | $dbhost = 'localhost' ; //
数据库服务器 |
2 | $dbuser = 'root' ; //
数据库用户名 |
4 | $dbname = 'zb_fm926' ; //
数据库名 |
5 | $pconnect = 0; // 数据库持久连接 0=关闭,1=打开 |
6 | $tablepre = '' ; // 表名前缀,同一数据库安装多个论坛请修改此处 |
7 | $dbcharset = 'utf8' ; // MySQL 字符集,可选 'gbk','big5','utf8','latin1',留空为按照论坛字符集设定 | 将配置信息修改为yii项目的数据库配置信息。
然后进入ucenter后台,点击应用管理,能够看到刚刚添加的应用,后面的通讯情况,显示通讯成功
OK ,初步配置完成。然后开始配置注册于登陆
打开yii项目,进入目录:\protected\vendor
在里面创建一个文件:ucenter.php
其内容如下:
[代码]php代码:3 | $path =
dirname( __FILE__ ). '/../../uc_client/' ; |
4 | require_once ( $path . '../config.inc.php' ); |
5 | require_once ( $path . 'client.php' ); | 然后找到yii项目注册模块,在注册的流程中加入如下代码($username,$password,$email,需要自行获取):
[代码]php代码:02 | Yii::import( 'application.vendors.*' ); |
03 | include_once $homeUrl . 'protected/vendor/ucenter.php' ; |
06 | $flag =
uc_user_checkname( $username ); |
10 | echo "<script
type='text/javascript'>alert('用户名不合法');history.back();</script>" ; |
14 | echo "<script
type='text/javascript'>alert('包含不允许注册的词语');history.back();</script>" ; |
15 | //$errMsg='包含不允许注册的词语'; |
18 | echo "<script
type='text/javascript'>alert('用户名已经存在');history.back();</script>" ; |
24 | $flag =
uc_user_checkemail( $email ); |
27 | echo "<script
type='text/javascript'>alert('Email 格式有误');history.back();</script>" ; |
28 | //$errMsg='Email
格式有误'; |
31 | echo "<script
type='text/javascript'>alert('Email 不允许注册');history.back();</script>" ; |
32 | //$errMsg='Email
不允许注册'; |
35 | echo "<script
type='text/javascript'>alert('该 Email 已经被注册');history.back();</script>" ; |
36 | //$errMsg='该
Email 已经被注册'; |
39 | $uid =
uc_user_register( $username , $password , $email ); //注册用户至ucenter | 如果注册成功,$uid返回ucenter注册成功之后的uid,判断是否注册成功,直接用if($uid>0)即可
然后修改登录代码:
在登录流程里面加入($username,$password自行获取):
[代码]php代码:02 | Yii::import( 'application.vendors.*' ); |
03 | include_once $homeUrl . 'protected/vendor/ucenter.php' ; |
06 | $flag =
uc_user_checkname( $username ); |
12 | echo "<script
type='text/javascript'>alert('用户名不存在');history.back();</script>" ; |
17 | list( $uid , $username , $password , $email ) =uc_user_login( $username , $password ); |
24 | $success_content =
uc_user_synlogin( $uid ); |
25 | header( "refresh:1;url=/" ); //登录成功,1秒之后跳转。这里需注意,一定要有一个前端页面的跳转,方便用户给ucenter发送登陆成功的信息 | 修改注销登陆:
找到注销登陆模块,在注销登录流程加入如下代码:
[代码]php代码:2 | Yii::import( 'application.vendors.*' ); |
3 | include_once $homeUrl . 'protected/vendor/ucenter.php' ; |
6 | $success_content =uc_user_synlogout(); |
7 | header( "refresh:1;url=/public/login" ); //注销完成,1秒之后跳转。这里需注意,一定要有一个前端页面的跳转,方便用户给ucenter发送注销后的信息 | OK,本次修改主要围绕注销登陆来说的,至于修改用户信息的同步,自己根据自己的代码流程来改吧,所有调用到的函数应该都在:uc_client/client.php里面。
注:好久没有发过原创的技术博文了,今天编辑完,感觉超爽!
PHP技术交流QQ群:422137578
除非注明,文章均为 PHP二次开发网 原创,转载请注明本文地址: http://www.php2.cc/article-1349-1.html |