ecshop注册时用户名已存在的解决办法

yibin 2015-02-08 ECShop 591

整合ucenter的时候通信成功,但是网站注册时出现不管用什么号码注册都显示用户名已存在,下面ECSHOP开发中心的技术和大家分享如何解决这样的问题
 

首先整合过uc,那么他是用$user->check_user($username) 来验证会员是否ecshop注册过,是否存在,如果没有整合好uc,必然报错误。 
 

其次,在本身的注册程序中,需要js/user.js里面的函数来支持。比如is_registered函数,他是通过 Ajax.call( 'user.php?act=is_registered', 'username=' + username, registed_callback , 'GET', 'TEXT', true, true );给user.php?act=is_registered传递username过去,供php做验证的,而且返回结果通过js/user.js下面的registed_callback函数来显示处理结果的。
 

php验证的结果是返回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函数只是处理返回的false/true结果来显示该用户是否注册。

function registed_callback(result) 

{

if ( result == "true" ) 


document.getElementByIdx_x('username_notice').innerHTML = msg_can_rg; 

document.forms['formUser'].elements['Submit'].disabled = ''; 


else 


document.getElementByIdx_x('username_notice').innerHTML = msg_un_registered; 

document.forms['formUser'].elements['Submit'].disabled = 'disabled'; 


}

还有,如果是自定义的注册动作,那么必然要将注册的$action放在文件前面的数组中。$not_login_arr,$ui_arr中去。不然会报错,永远返回false.就是注册不成功。

扫码添加微信

13013082126 扫描微信 建站咨询 优化咨询