在和ucenter通信成功后,实现注册登录就非常简单了。简要记录如下。
1 新建一个controller用来继承ucenter\controller\uccontroller,并新建构造方法,用来实例化uccontroller
<?phpdeclare (strict_types = 1);namespace app\controller;u ucenter\controller\uccontroller;class uc extends uccontroller{ /** * 构造方法,用于实例化 uccontroller */ public function __construct(){ $this->init(); }}
2 index controller添加uc类变量。
private $uc;
3 index方法中实例化uc控制器,对ucenter接口的操作通过$this->uc来完成。
$this->uc = new uc();
以上两步完成后,就可以在代码合适的地方调用ucenter接口进行注册登录了。以下是我项同位语从句引导词目中的代码片段,仅供参考。
4 注册时验证用户名是否已经存在以及是否合法
$urname = $data['content']; $result = $我爱天安门this->uc->uc_check_name($urname); switch ($res喧闹的近义词是什么ult) { ca -1: $reason = "用户名不合法"; break; ca -2: $reason = "包含不允许注册的词语"; break; ca -3: $reason = "用户名已经存在"; break; } if ($result != 1) { $this->_retstep(); return array(join("\n", array_merge(array('【注册】注册失败', $reason), $this->_guestactions() )), 'text'); } el { $this->_tstep(lf::step_register_password); ssion::t('urname', $data['content']); return array('【注册】请输入密码', 'text'); } }
5 输入密码后调用ucenter进行注册,因为ucenter注册时必带urname,password,email,所以需要为用户生成默认的email
//注册->输入密码 if ($this->_currentstep() == lf::step_register_password) { 卫生制度 $this->_retstep(); ssion::t('password', $data['content']); //call ucenter to register ur $urname_valid = $this->uc->uc_check_name(ssion::get('urname')); log::write('$urname_valid' . $urname_valid, 'debug'); if ($urname_valid == 1) { //register log::write('start register ' . ssion::get('urname'), 'debug'); $email = "reg_" . substr(ssion::getid(), 0, 3) . time() . substr(ssion::getid(), 7, 4) . "@null.null"; //$email = ssion::get('urname').'@'.ssion::get('urname').'.com'; $register_result = $this->uc->uc_register(ssion::get('urname'), ssion::get('password'), $email); log::write('register result is ' . $register_result, 'debug'); switch ($register_result) { ca -1: $reason = "用户名不合法"; break; ca -2: $reason = "包含不允许注册的词语"; break; ca -3: $reason = "用户名已经存在"; break; ca -4: $reason = "email格式有误"; break; ca -5: $reason = "email不允许注册"; break; ca -6: $reason = "该email已经被注册"; break; } if ($register_cpu使用率过高怎么办result > 0) { log::write('ucenter register successful' . ssion::get('urname'), 'debug'); return array(join("\n", array_merge(array('【注册】注册成功'), $this->_guestactions())), 'text'); } el { log::write('ucenter register failed' . $reason, 'debug'); $this->_retssion(); return array(join("\n", array_merge(array('【注册】注册失败', $reason), $this->_guestactions() )), 'text'); } } }
6 登录时传入用户输入的用户名和密码即可。登陆成功后将用户名和密码写入ssion文件。
$result = $this->uc->uc_login(ssion::get('urname'), $data['content']);
到此这篇关于thinkphp6通过ucenter实现注册登录的示例代码的文章就介绍到这了,更多相关thinkphp6 ucenter注册登录内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-09 01:00:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/3908e65c323ec935469459ca604a79a6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:ThinkPHP6通过Ucenter实现注册登录的示例代码.doc
本文 PDF 下载地址:ThinkPHP6通过Ucenter实现注册登录的示例代码.pdf
留言与评论(共有 0 条评论) |