phpcms整合Ucenter找回密碼無(wú)效的解決方法
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-05-31 07:21:34 閱讀次數(shù):3111次
今天出現(xiàn)怪異現(xiàn)象整了一小會(huì)兒,汗,分享出來(lái),免得以后同仁遇到一樣的問(wèn)題,再耽誤時(shí)間。
點(diǎn)找回密碼,輸入用戶名,郵箱后,發(fā)系統(tǒng)信件至郵件,從郵箱里轉(zhuǎn)回的鏈接,開始找回密碼,在輸入密碼的時(shí)候,會(huì)出現(xiàn),盡管你重復(fù)密碼是輸入的一樣,但是還是會(huì)提示輸入的不一樣.
第一個(gè)問(wèn)題:這是第1個(gè)問(wèn)題,如果你沒(méi)有遇到這問(wèn)題,這段可以忽略掉,修改方法:找到templates/default/member/get_pwd.html文件里面的輸入密碼的輸入框:
<input type="password" name="password" id="password" require="true" datatype="limit" min="3" max="20" msg="密碼長(zhǎng)度必須大于3小于20" />
把name隨便改一下不同與password的名稱,我這里就改成reg_password了,就改成下面這樣了
<input type="password" name="reg_password" id="password" require="true" datatype="limit" min="3" max="20" msg="密碼長(zhǎng)度必須大于3小于20" />
加粗給以對(duì)比
然后再找到確認(rèn)密碼的輸入框:
<input type="password" id="pwdconfirm" name="pwdconfirm" require="true" datatype="repeat" to="password" msg="兩次輸入的密碼不一致" />
把to="password"中的password改成你在輸入密碼框那里改的名稱:
<input type="password" id="pwdconfirm" name="pwdconfirm" require="true" datatype="repeat" to="reg_password" msg="兩次輸入的密碼不一致" />
然后再去member/getpwd.php里面找到
if(!$member->match_authcode($userid, $authstr)) showmessage($LANG['verify_string_not_correct']);
在它前面加上
$password = $reg_password;
好,第一個(gè)問(wèn)題解決,接著
第二個(gè)問(wèn)題:提交后,提示成功,但是卻不能修改密碼,
原因:在getpwd.php中所走的是$step = 4那段代碼 大概在58行,也就是
if(!$member->match_authcode($userid, $authstr)) showmessage($LANG['verify_string_not_correct']);
這里,整合了UC后,所走的是 67行,但在這里雖然執(zhí)行了,但是沒(méi)能把值傳給UC,
解決方法:
第一步:
根目錄membergetpwd.php
將代碼(65行)
if($PHPCMS['uc'])
{
$action = 'editpwd';
require MOD_ROOT.'api/passport_server_ucenter.php';
}
修改為:
if($PHPCMS['uc'])
{
$username = $name;
$new_password = $password;
$action = 'editpwd';
require MOD_ROOT.'api/passport_server_ucenter.php';
}
第二步:
根目錄 memberapipassport_server_ucenter.php 文件第121行
uc_call("uc_user_edit", array($username, $old_password, $new_password, $email));
修改為
uc_call("uc_user_edit", array($username, $old_password, $new_password, $email, 1));
這里改為1的原因就是要它忽略原始密碼.
問(wèn)題到這里完美解決了。
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)