最新公告
  • 欢迎加入中国站长资源网团队,精品资源持续增加!立即加入我们
  • ecshop二次开发注册页面添加推荐人验证功能

    实现ecshop注册页有推荐人功能,主要修改4个页面 思路,就是复制 用户名input的功能给推荐人就行了 不用改底层

    1.前台模板 user_passport.dwt

    2.js(jquery实现的)文件 user.js

    3.前台 user.php

    4. lib_passport.php

    1首先在用户注册模板中的相关位置添加 推荐人input html属性

    ecshop二次开发注册页面添加推荐人验证功能

    {$lang.label_email}

    {$lang.label_rec_user}

    is_rec_registered(this.value) js函数 就需要在 user.js中去修改了

    2.打开 user.js文件

    找到方法

    function is_registered( username );

    复制并在其下面粘贴一份 修改名字为 

    function is_rec_registered( rec_user )

    单独验证推荐人是否是已经注册的用户、

    代码如下:

    //推荐人修改 start
    function is_rec_registered( rec_user )
    {
    var submit_disabled = false;
    var unlen = rec_user.replace(/[^x00-xff]/g, "**").length;
    
    if ( rec_user == '' )
    {
    document.getElementById('rec_user_notice').innerHTML = '推荐人不允许为空!';
    var submit_disabled = true;
    }
    
    if ( !chkstr( rec_user ) )
    {
    document.getElementById('rec_user_notice').innerHTML = '推荐人包含非法字符';
    var submit_disabled = true;
    }
    if ( unlen < 3 )
    { 
    document.getElementById('rec_user_notice').innerHTML = '推荐人长度不能少于 3 个字符。';
    var submit_disabled = true;
    }
    if ( unlen > 14 )
    {
    document.getElementById('rec_user_notice').innerHTML = '推荐人长度多多少于 14 个字符。';
    var submit_disabled = true;
    }
    if ( submit_disabled )
    {
    document.forms['formUser'].elements['Submit'].disabled = 'disabled';
    return false;
    }
    Ajax.call( 'user.php?act=is_rec_registered', 'rec_user=' + rec_user, rec_registed_callback , 'GET', 'TEXT', true, true );
    }
    注册 ajax.call 调用的函数 rec_registed_callback() 改函数实现根据返回的 result的真假状态,在页面提示信息(推荐人不存在...)
    function rec_registed_callback(result)
    {
    if ( result == "true" )
    {
    
    $("#rec_user").parent().removeClass("params_error");
    $("#rec_user").parent().addClass("params_success");
    
    document.getElementById('rec_user_notice').innerHTML = ""; //zhouhuan
    document.forms['formUser'].elements['Submit'].disabled = '';
    }
    else
    {
    
    $("#rec_user").parent().removeClass("params_success");
    $("#rec_user").parent().addClass("params_error");
    document.getElementById('rec_user_notice').innerHTML = '推荐人不存在,请重新输入';
    document.forms['formUser'].elements['Submit'].disabled = 'disabled';
    }
    }
    
    //推荐人修改 end

    3. 修改user.php文件 重要!!!!

    首先找到

    $not_login_arr =array('login','act_login';

    在这个数组里面讲 act的 is_rec_registered加进去

    $not_login_arr =
    array('login','act_login','register','act_register','act_edit_password','get_password','send_pwd_email','password', 'signin', 'add_tag', 'collect', 'return_to_cart', 'logout', 'email_list', 'validate_email', 'send_hash_mail', 'order_query', 'is_registered',
    'is_rec_registered', 'check_email','clear_history','qpassword_name', 'get_passwd_question', 'check_answer','oath' , 'oath_login', 'other_login');

    再添加下面代码, 当act == is_rec_registered的时候 执行下面操作(检查推荐人是否注册)

    /* 验证推荐人是否注册 */
    elseif ($action == 'is_rec_registered')
    {
    
    include_once(ROOT_PATH . 'includes/lib_passport.php');
    
    $rec_user = trim($_GET['rec_user']);
    $rec_user = json_str_iconv($rec_user);
    
    if ($user->check_user($rec_user) || admin_registered($rec_user))
    {
    echo 'true';
    }
    else
    {
    echo 'false';
    }
    }

    最后在 lib_passport.php文件中

    查找到 $up_uid = get_affiliate();

    讲下面的if语句替换成 (原来的是根据ID查找,现在根据rec_user)

    if (!empty($rec_user))
    {
    $recsql = "SELECT user_id FROM " . $GLOBALS['ecs']->table('users') . " WHERE user_name = '$rec_user'";
    $recone = $GLOBALS['db']->getOne($recsql);
    if ($recone)
    {
    $up_uid=$recone;
    }
    }

    希望可以帮助到你。

       

    如果遇到资源下载失效,请复制当前文章链接类型客服处理!
    中国站长资源网 » ecshop二次开发注册页面添加推荐人验证功能

    常见问题FAQ

    【点击查看】免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    【点击查看】提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    【点击查看】开通终身至尊下载源码 “不完整” 或 “不能用” 怎么办?
    非常抱歉,你有权利告诉本站,但是本站有选择处理或者不处理的权力,如无法接受请不要开通本站会员。
    【点击查看】开通终身会员能下载全站资源码?
    可以100%下载全站源码资源的,除部分失效资源,失效的可以联系客服尝试恢复。

    发表评论