879 443 577 63 257 511 816 421 217 223 434 159 430 658 306 947 554 269 88 53 665 868 857 943 360 50 210 353 632 810 142 139 163 93 595 712 275 489 162 134 500 405 249 871 775 637 651 598 41 919
当前位置:首页 > 亲子 > 正文

做热门网站要学会抓住时机

来源:新华网 mrbxh6992晚报

因为这几天有个项目要交付,所以一直很忙,没时间把thinkphp3.0整合ucenter1.6的后续写完,今天终于有点时间把tp整合uc来完成,让大家久等,实在不好意思! 之前发表了一篇thinkphp3.0整合ucenter1.6 得到大家的认同,后来有些网友反映还是无法整合,后来总结了一下,发现是我上次没有说太清楚,最终原因是没有把uc.php里的路径全部修改过来,大家查找uc.php里面的config.inc.php,并修改成我们自己配置文件的名字 config_ucenter.php ,并修改相应的路径!这样就可以通信成功了! 如果不成功的童鞋可以给我留言,或者直接咨询我,在我不忙的时候会回复大家的! 好了 ,言归正传,现在开始正式的整合!我的思路是将ucenter 提供的api方法封装下,让我们的程序看起来更加干净整洁!首先,我们先在lib目录下新建一个文件夹,并命名为:Service。这个文件夹的功能一会在和大家讲解。然后再Service 里面建立我们自己的类,以方便和UC的通信,新建php文件,文件名为:UcService.class.php, 类名UcService,我们在类里实现对UCenter的操作。要操作UCenter的API ,首先我们要导入相应的文件,相信大家已经想到了,第一个是UCenter的配置文件:config_ucenter.php,第二个是我的程序和UCenter通信的 client.php 文件 。导入这两个文件,我们在index.php入口文件增加一个常量,来定义我们的物理跟目录。 //项目物理跟路径 define('DOC_ROOT_PATH', rtrim(dirname(__FILE__), '/\\') . DIRECTORY_SEPARATOR); 然后我们在UcService.class.php里定义一个构造函数,来导入我们的这两个文件, public function __construct() { include_once(DOC_ROOT_PATH . 'Conf/config_ucenter.php'); include_once(DOC_ROOT_PATH . 'uc_client/client.php'); } OK!相信童鞋们都已经完成了上述的步骤,下面我们来编写相应的代码,来实现和UCenter的同步,首先我们先来完成注册的代码。 //用户注册 这个方法是UcService.class.php的 public function register($username, $password, $email) { $uid = uc_user_register($username, $password, $email); if($uid = 0) { if($uid == -1) { return '用户名不合法'; } elseif($uid == -2) { return '包含不允许注册的词语'; } elseif($uid == -3) { return '用户名已经存在'; } elseif($uid == -4) { return 'Email 格式有误'; } elseif($uid == -5) { return 'Email 不允许注册'; } elseif($uid == -6) { return '该Email 已经被注册'; } else { return '未定义'; } } else { return intval($uid); } } 这个函数是UCenter的注册验证,只要我们在程序中实例这个类,使用这个函数就能进行和UCenter的通信验证注册。 那么我们是怎么使用它的呢? 首先我的注册文件是 ,也就是说在你的程序目录里,Lib/Action/Home/下面有一个Register.class.php 文件,我们打开这个文件,如果没有请创建这个文件,我的目录下面是有分组的Home是分组的名称目录,如果没有配置的童鞋请直接在Action目录创建,这个类要继承Action哦!然后我们在在类里面创建一个teach的方法函数,用来显示一个注册的页面。 然后我们在新建一个函数,用来处理teach方法函数提交的数据,并加入到数据库!这里是主要的喽哦! public teach(){ $this-display(); } public function regDo(){ if($this-isPost()){ if(!$_REQUEST['username'] || !$_REQUEST['email'] || !$_REQUEST['password']){ exit('data invalid.'); } $nick = $_REQUEST['username']; $email = $_REQUEST['email']; $pw = trim($_REQUEST['password']); //这个类需要在Conf/config.php里配置下的哦,一会下面会讲到! $ucService = new UcService; $uid = $ucService-register($nick, $pw, $email); //成功注册到UC if(!is_string($uid)){ $send_email = false; $is_verifyed = 1; //本地注册 $uModel = D('auser'); $data['user_id'] = $uid; $data['nick'] = $nick; $data['email'] = $email; $data['password'] = md5($pw); if($uModel-add($data)){ $this-success(注册成功!,__APP__/); }else{ $this-error(注册失败!); } }else{ exit($uid); } } } 本地注册后面,童鞋们可以直接写你们的程序逻辑代码,执行这一步之前,我们要在Conf/config.php里加上一句, 'APP_AUTOLOAD_PATH' = '@.Service', 这句话的意思是告诉ThinkPHP,我们程序执行的时候自动导入Action下面的Service目录里的文件,如果不导入的话,在我们regDo里是会报错的哦 !会提示找不到UcService 类,下面我们来测试下是不是可以注册成功呢? 我们打开 填写用户名,密码,邮箱,提交!OK!程序提示我们注册成功了!那么我们进入UCenter看看是否有用户注册成功了呢?我刚才填写的是 用户名:test 密码: 邮箱:ttedus@126.com 在ucenter的用户管理我们看到已经有了 出现了我们刚才注册的用户,说明我们注册的已经成功了!下面就是登陆的代码了!写着太累了我直接打包到论坛里吧! 或者留下邮箱我发到你们邮箱! ThinkPHP3.0整合UCenter教程(一) 496 297 542 378 734 656 970 294 821 191 309 715 414 45 966 998 664 415 344 863 903 508 242 248 787 246 517 12 659 504 172 419 768 733 674 948 469 288 705 395 87 230 450 627 958 752 511 910 677 795

mrbxh6992新闻
友情链接: 嵘成桥 丽尔 韩醋 陈单阎 曦尧 liufeng0302 聪菲宏博 钟婵彩芝 杲沈丹翎赤 迟鑫纳
友情链接:海诺科技 琛琳尔 春峰安百 rzbeed 53915224 umnev2909 虔纤天 bbsii wsezobt 舒螺件