ThinkPHP3.1.2整合UCenter详解(三)
2016-03-25 18:14
686 查看
在上一章中的ThinkPHP3.1.2整合UCenter详解(二)已经实现了通讯成功了!
接下来我们的目标:在thinkphp中会员注册成功时,UCenterHome也同时注册成功。
首先在项目W3note入口文件index.php配置一个常量
常量WBLOG_ROOT_PATH是网站根目录wblog1的物理根目录,在我本地服务器打印输出:
D:\phpsever\apache2\htdocs\wblog1\
有必要在这里强调一下,理解WBLOG_ROOT_PATH很重要,因为在调试过程中路径最容易出错。
还记得前面我们建的UcService.class.php文件吗?如果忘记了请看一下前面的目录树。打开UcService.class.php文件,新建一个类UcService,然后写一个构造方法导入W3note/Conf/config_ucenter.php和uc_client/client.php两个文件。代码:
接下来我们写一个会员注册方法register,如
方法体放什么代码呢?其实很简单,因为UCenter的开发文档已经为我们准备好了!
找到之前下载的UCenter_1.6.0_SC_UTF8,用浏览器打开UCenter_1.6.0_SC_UTF\advanced\document\index.htm,然后在左边的菜单栏找到“用户接口”,看到用户注册示例(PHP),把其下的代码复制过来。如下
这个注册方法register的作用是,在wblog1的会员注册中成功注册一个会员时,也会成功注册UCenterHome的会员中心中。UCenter的注册方法我们在上面已经写好了,现在回到thinkphp。我们在前台W3note项目的控制器MemberAction写一个注册方法,代码如下:
我们在thinkphp会员注册页面注册一个帐号,提交表单后,查看wblog1和UCenter的会员数据表,发现两张表都存相同的帐号,说明同步注册已经成功了!
接下来我们的目标:在thinkphp中会员注册成功时,UCenterHome也同时注册成功。
首先在项目W3note入口文件index.php配置一个常量
1 | define( 'WBLOG_ROOT_PATH' ,rtrim(dirname( __FILE__ ), '/\\' ).DIRECTORY_SEPARATOR); //物理根目录 |
D:\phpsever\apache2\htdocs\wblog1\
有必要在这里强调一下,理解WBLOG_ROOT_PATH很重要,因为在调试过程中路径最容易出错。
还记得前面我们建的UcService.class.php文件吗?如果忘记了请看一下前面的目录树。打开UcService.class.php文件,新建一个类UcService,然后写一个构造方法导入W3note/Conf/config_ucenter.php和uc_client/client.php两个文件。代码:
1 | class UcService{ |
2 |
3 | public function __construct(){ |
4 |
5 | include_once (WBLOG_ROOT_PATH. 'W3note/Conf/config_ucenter.php' ); |
6 | include_once (WBLOG_ROOT_PATH. 'uc_client/client.php' ); |
7 | } |
1 | public function register( $username , $password , ){} |
找到之前下载的UCenter_1.6.0_SC_UTF8,用浏览器打开UCenter_1.6.0_SC_UTF\advanced\document\index.htm,然后在左边的菜单栏找到“用户接口”,看到用户注册示例(PHP),把其下的代码复制过来。如下
01 | /** |
02 | *会员注册 |
03 | */ |
04 | public function register( $username , $password , ){ |
05 |
06 | $uid =uc_user_register( $username , $password , ); //UCenter的注册验证函数 |
07 | if ( $uid <=0){ |
08 | if ( $uid ==-1){ |
09 | return '用户名不合法' ; |
10 | } elseif ( $uid ==-2){ |
11 | return '包含不允许注册的词语' ; |
12 | } elseif ( $uid ==-3){ |
13 | return '用户名已经存在' ; |
14 | } elseif ( $uid ==-4){ |
15 | return 'Email格式有误' ; |
16 | } elseif ( $uid ==-5){ |
17 | return 'Email不允许注册' ; |
18 | } elseif ( $uid ==-6){ |
19 | return '该Email已经被注册' ; |
20 | } else { |
21 | return '未定义' ; |
22 | } |
23 | } else { |
24 | return intval ( $uid ); //返回一个非负数 |
25 | } |
26 | } |
27 |
28 | } |
01 | /* |
02 | 用户名:$username, |
03 | 密码:$password, |
04 | 邮箱:$email |
05 | */ |
06 | public function addmember(){ |
07 | if ( $this ->isPost()){ |
08 | $username = $_POST [ 'username' ]; |
09 | = $_POST [ 'email' ]; |
10 | $password =trim( $_POST [ 'password' ]); |
11 | import( "@.ORG.UcService" ); //导入UcService.class.php类 |
12 | $ucService = new UcService; //实例化UcService类 |
13 | $uid = $ucService ->register( $username , $password , ); //注册到UCenter |
14 |
15 | if ( $uid ){ //如果上面注册成功将返回一个int类型的数字 |
16 |
17 | $M =D( 'Member' ); |
18 |
19 | if ( $vo = $M ->create()){ |
20 | if ( $M ->add()){ |
21 | $this ->success( '注册成功!' ); |
22 | } else { |
23 | $this ->error( '注册失败!' ); |
24 | } |
25 | } else { |
26 | $this ->error(); |
27 | } |
28 | } else { |
29 | exit ( $uid ); |
30 | } |
31 | } else { |
32 | $this ->error( '非法数据!' ); |
33 | } |
34 | } |
相关文章推荐
- ThinkPHP3.1.2整合UCenter详解(二)
- 通过form上传文件(php)
- ThinkPHP3.1.2整合UCenter详解(一)
- php解决约瑟夫问题
- 最大正向匹配算法 PHP实现
- php三种基础算法:冒泡,插入和快速排序法
- thinkphp在新浪SAE平台的部署
- 关于phpstudy安装的问题
- php 写一个水仙花数的函数
- PHP运算符优先级
- PHP实现基本认证
- PHP中与Perl兼容的正则表达式处理函数
- php strcmp 进行字符串二进制比较
- 【php爬虫】百万级别知乎用户数据爬取与分析
- PHP合并数组
- PHP7 扩展之自动化测试
- PHP7 扩展之自动化测试
- 搭建php开发环境
- 四大组件之ContentProvider
- PHP 函数