ecshop注冊(cè)時(shí)用戶(hù)名已存在的解決辦法
來(lái)源:程序員人生 發(fā)布時(shí)間:2013-11-29 12:48:44 閱讀次數(shù):3638次
很多使用ecshop的朋友都告訴我說(shuō),ecshop注冊(cè)的時(shí)候常常會(huì)遇見(jiàn)很多的問(wèn)題,有些都莫名其妙,也不知道如何去修改。首先,出現(xiàn)這個(gè)問(wèn)題的情況有兩種,一種是UC的整合出問(wèn)題,還有一種就是JS中報(bào)ajax錯(cuò)誤.
首先,整合過(guò)uc,那么他是用$user->check_user($username) 來(lái)驗(yàn)證會(huì)員是否ecshop注冊(cè)過(guò),是否存在,如果沒(méi)有整合好uc,必然報(bào)錯(cuò)誤。
網(wǎng):http://www.veryhuo.com/
其次,在本身的注冊(cè)程序中,需要js/user.js里面的函數(shù)來(lái)支持。比如is_registered函數(shù),他是通過(guò) Ajax.call( 'user.php?act=is_registered', 'username=' + username, registed_callback , 'GET', 'TEXT', true, true );給user.php?act=is_registered傳遞username過(guò)去,供php做驗(yàn)證的,而且返回結(jié)果通過(guò)js/user.js下面的registed_callback函數(shù)來(lái)顯示處理結(jié)果的。
php驗(yàn)證的結(jié)果是返回false/true
elseif ($action == 'is_registered')
{
include_once(ROOT_PATH . 'includes/lib_passport.php');
$username = trim($_GET['username']);
$username = json_str_iconv($username);
if ($user->check_user($username) || admin_registered($username))
{
echo 'false';
}
else
{
echo 'true';
}
}
而registed_callback函數(shù)只是處理返回的false/true結(jié)果來(lái)顯示該用戶(hù)是否注冊(cè)。
function registed_callback(result)
{
if ( result == "true" )
{
document.getElementById('username_notice').innerHTML = msg_can_rg;
document.forms['formUser'].elements['Submit'].disabled = '';
}
else
{
document.getElementById('username_notice').innerHTML = msg_un_registered;
document.forms['formUser'].elements['Submit'].disabled = 'disabled';
}
}
還有,如果是自定義的注冊(cè)動(dòng)作,那么必然要將注冊(cè)的$action放在文件前面的數(shù)組中。$not_login_arr,$ui_arr中去。不然會(huì)報(bào)錯(cuò),永遠(yuǎn)返回false.永遠(yuǎn)注冊(cè)不成功。
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)