ThinkPHP3.1.2整合UCenter详解(三)
来源:互联网 发布:苹果透视软件 编辑:程序博客网 时间:2024/04/29 19:46
在上一章中的ThinkPHP3.1.2整合UCenter详解(二)已经实现了通讯成功了!那么接下来我们的目标:
在thinkphp中会员注册成功时,UCenter Home也同时注册成功。
首先在项目W3note入口文件index.php配置一个常量
1
define(
'WBLOG_ROOT_PATH'
, rtrim(dirname(
__FILE__
),
'/\\'
) . DIRECTORY_SEPARATOR);
//物理根目录
常量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两个文件。代码:
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
}
接下来我们写一个会员注册方法register,如
1
public
function
register(
$username
,
$password
,
$email
){}
方法体放什么代码呢?其实很简单,因为UCenter的开发文档已经为我们准备好了!
找到之前下载的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
,
$email
){
05
06
$uid
= uc_user_register(
$username
,
$password
,
$email
);
//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
}
这个注册方法register的作用是,在wblog1的会员注册中成功注册一个会员时,也会成功注册UCenter Home的会员中心中。UCenter的注册方法我们在上面已经写好了,现在回到thinkphp。我们在前台W3note项目的控制器MemberAction写一个注册方法,代码如下:
01
/*
02
用户名:$username,
03
密码:$password,
04
邮箱:$email
05
*/
06
public
function
addmember(){
07
if
(
$this
->isPost()){
08
$username
=
$_POST
[
'username'
];
09
$email
=
$_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
,
$email
);
//注册到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
}
我们在thinkphp会员注册页面注册一个帐号,提交表单后,查看wblog1和UCenter的会员数据表,发现两张表都存相同的帐号,说明同步注册已经成功了!
本文首发网志博客,欢迎转载!转载请注明本文地址,谢谢。
本文地址:http://w3note.com/web/72.html
- ThinkPHP3.1.2整合UCenter详解(三)
- ThinkPHP3.1.2整合UCenter详解(三)
- ThinkPHP3.1.2整合UCenter详解(一)
- ThinkPHP3.1.2整合UCenter详解(二)
- ThinkPHP3.1.2整合UCenter详解(一)
- ThinkPHP3.1.2整合UCenter详解(二)
- ThinkPHP3.1.2整合UCenter详解(四)
- ThinkPHP3.1.2整合UCenter详解(一)
- ThinkPHP3.1.2整合UCenter详解(二)
- ThinkPHP3.1.2整合UCenter详解(四)
- ThinkPHP3.0整合UCenter教程(一)
- ThinkPHP3.0整合UCenter教程(一)
- 详解ucenter原理及第三方应用程序整合思路、方法
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- 三种方法实现数据交换
- qemu启动参数代码分析
- cocos2d-x游戏开发系列教程-坦克大战游戏加载地图的编写
- Linux领袖说:‘开源很安全,Linux比其它任何系统都安全
- matlab笔记
- ThinkPHP3.1.2整合UCenter详解(三)
- iOS网络编程-ASIHTTPRequest异步请求
- c/c++常用算法(6) -- 数据结构(图)
- winForm 读取,操作文件,并记录操作日志
- AS3的一些压缩解压缩类库(AS3 ZIP、AS3 GZIP等等)
- 大数模板
- C# 给自己写的软件,加注册码功能
- 第十七周-项目二(3)求字符串的长度并返回。(用数组名作参数)
- 易到用车获新轮6000万美元融资 携程和DCM领投