加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

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

发布时间:2020-12-14 03:52:50 所属栏目:Dedecms 来源:网络整理
导读:很多使用ecshop的朋友都告诉我说,ecshop注册的时候常常会遇见很多的问题,有些都莫名其妙,也不知道如何去修改。首先,出现这个问题的情况有两种,一种是UC的整合出问题,还有一种就是JS中报ajax错误. 首先,整合过uc,那么他是用$user-check_user($username)
很多使用ecshop的朋友都告诉我说,ecshop注册的时候常常会遇见很多的问题,有些都莫名其妙,也不知道如何去修改。首先,出现这个问题的情况有两种,一种是UC的整合出问题,还有一种就是JS中报ajax错误.

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

网:http://www.veryhuo.com/

其次,在本身的注册程序中,需要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.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';
}
}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读