国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

phpcms郵箱修改二次認證失敗的原因和解決辦法

2024-04-25 20:35:07
字體:
來源:轉載
供稿:網友

原因,phpcms的bug,傳輸userid失敗導致的。

原來的代碼如下

/*

* 測試郵件配置

*/

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;

}

修改后的如下:

/*

* 測試郵件配置

*/

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;

}

ID傳輸失敗就自然不知道是認證誰了,所以導致的老用戶傳輸ID失敗不能郵箱認證。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邢台市| 会同县| 东港市| 沂水县| 岳池县| 大庆市| 鲜城| 罗山县| 浮山县| 东阿县| 靖边县| 凌海市| 渝中区| 康马县| 吴忠市| 墨玉县| 莱阳市| 武义县| 涞源县| 乡城县| 五河县| 桃园市| 绥宁县| 板桥市| 博兴县| 冕宁县| 犍为县| 高碑店市| 彝良县| 双牌县| 罗江县| 东至县| 台中市| 陇西县| 秦安县| 喜德县| 天柱县| 崇信县| 新源县| 呼伦贝尔市| 婺源县|