《CMS案例:phpcms郵箱修改二次認證失敗的原因和解決辦法》要點:
本文介紹了CMS案例:phpcms郵箱修改二次認證失敗的原因和解決辦法,希望對您有用。如果有疑問,可以聯系我們。
相關主題:PHPCMS教程
??? /*
?? ? * 測試郵件配置
?? ? */
?? ?public function send_newmail() {
?? ??? ?$_username = param::get_cookie('_regusername');
?? ??? ?$_userid = param::get_cookie('_reguserid');
?? ??? ?$_ssouid = param::get_cookie('_reguseruid');
?? ??? ?$newemail = $_GET['newemail'];
?? ??? ?if($newemail==''){//郵箱為空,直接返回錯誤
?? ??? ??? ?return '2';
?? ??? ?}
?? ??? ?$this->_init_phpsso();
?? ??? ?$status = $this->client->ps_checkemail($newemail);
?? ??? ?if($status=='-5'){//郵箱被占用
?? ??? ??? ?exit('-1');
?? ??? ?}
?? ??? ?if ($status==-1) {
?? ??? ??? ?$status = $this->client->ps_get_member_info($newemail, 3);
?? ??? ??? ?if($status) {
?? ??? ??? ??? ?$status = unserialize($status);?? ?//接口返回序列化,進行判斷
?? ??? ??? ??? ?if (!isset($status['uid']) || $status['uid'] != intval($_ssouid)) {
?? ??? ??? ??? ??? ?exit('-1');
?? ??? ??? ??? ?}
?? ??? ??? ?} else {
?? ??? ??? ??? ?exit('-1');
?? ??? ??? ?}
?? ??? ?}
?? ??? ?//驗證郵箱格式
?? ??? ?pc_base::load_sys_func('mail');
?? ??? ?$phpcms_auth_key = md5(pc_base::load_config('system', 'auth_key'));
?? ??? ?$code = sys_auth($userid.'|'.SYS_TIME, 'ENCODE', $phpcms_auth_key);
?? ??? ?$url = APP_PATH."index.php?m=member&c=index&a=register&code=$code&verify=1";
?? ??? ?
?? ??? ?//讀取配置獲取驗證信息
?? ??? ?$member_setting = getcache('member_setting');
?? ??? ?$message = $member_setting['registerverifymessage'];
?? ??? ?$message = str_replace(array('{click}','{url}','{username}','{email}','{password}'), array('<a href="'.$url.'">'.L('please_click').'</a>',$url,$_username,$newemail,$password), $message);
?? ??? ?
??? ??? ?if(sendmail($newemail, L('reg_verify_email'), $message)){
?? ??? ??? ?//更新新的郵箱,用來驗證
??? ??? ??? ?$this->db->update(array('email'=>$newemail), array('userid'=>$_userid));
?? ??? ??? ?$this->client->ps_member_edit($_username, $newemail, '', '', $_ssouid);
?? ??? ??? ?$return = '1';
?? ??? ?}else{
?? ??? ??? ?$return = '2';
?? ??? ?}
?? ??? ?echo $return;
? ??? ?}CMS案例
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/5853.html