国产探花免费观看_亚洲丰满少妇自慰呻吟_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失敗不能郵箱認證。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渭南市| 华容县| 翁牛特旗| 浪卡子县| 色达县| 伊川县| 滦平县| 邵东县| 澎湖县| 格尔木市| 昌宁县| 南城县| 东兰县| 长寿区| 台南县| 尼勒克县| 寻乌县| 法库县| 青海省| 景泰县| 雷波县| 漠河县| 合作市| 沛县| 蕲春县| 泰宁县| 郓城县| 广汉市| 自贡市| 崇义县| 满洲里市| 颍上县| 蛟河市| 盖州市| 本溪市| 文登市| 大方县| 黄大仙区| 特克斯县| 凤城市| 临潭县|