咨询: 020-88409133

EcShop关于注册填写推荐人的功能

前几天有人提出这个注册推荐功能,我和他说针对EC来说是有推荐注册提成提积分的功能的,他说想在注册时使用这个。

发现网上是有这方面的论述的,但是很遗憾貌似是有问题的所以今天把这个重新修改下在这里记录下希望以后能用的上。

打开/languages/zh_cn/user.php
Ctrl+F,查找$_LANG['label_password'] 

'密码';
在下面增加一行:$_LANG['label_rec_user'] '推荐人';
保存修改 

2,打开/themes/当前主题目录/user_passport.dwt
Ctrl+F,查找
在上面粘贴以下代码(可根据你的主题样式修改): 程序代码

 


{$lang.label_rec_user}


保存修改

3,打开/user.php
Ctrl+F,查找$email isset($_POST['email']) trim($_POST['email']) '';
在下面增加一行:$rec_user isset($_POST['rec_user']) trim($_POST['rec_user']) '';
Ctrl+F,查找if (register($username, $password, $email, $other) !== false)
修改为:if (register($username, $password, $email, $rec_user, $other) !== false)

4,打开/includes/lib_passport.php
Ctrl+F,查找 @param string $email 注册email
在下面增加一行: @param string $rec_user 推荐人用户名(此步骤可以跳过,只是加个注释)
Ctrl+F,查找function register($username, $password, $email, $other array())
修改为:function register($username, $password, $email, $rec_user, $other array())
Ctrl+F,查找//设置推荐人
将下面的 程序代码

$sql 'Update '. $GLOBALS['ecs']->table('users') SET parent_id $up_uid Where user_id $_SESSION['user_id'];
$GLOBALS['db']->query($sql);
替换为 程序代码


if (empty($rec_user))
{
$rec_userid=$up_uid;
}
else
{

$recsql "Select user_id FROM $GLOBALS['ecs']->table('users') Where user_name '$rec_user'";
$recone $GLOBALS['db']->getOne($recsql);

if ($recone)
{
$rec_userid=$recone['user_id'];
}
else
{
$rec_userid=0;


}

$sql 'Update '. $GLOBALS['ecs']->table('users') SET parent_id $rec_userid Where user_id $_SESSION['user_id'];
$GLOBALS['db']->query($sql);
5,打开/js/user.js
Ctrl+F,查找var password Utils.trim(frm.elements['password'].value);
在下面增加一行:var rec_user Utils.trim(frm.elements['rec_user'].value);

当然这个框也不一定用用户名可以使用识别用户唯一的字段 比如tel等。再加入提示功能。

在user.js查找:function check_email_callback(result),在下面添加

function checkrec_user( rec_user )
{

    if ( rec_user == '' )
     {
        document.getElementById('rec_user_notice').innerHTML = '推荐人不能为空';
        var submit_disabled = true;
      }

      if( submit_disabled )
      {
        document.forms['formUser'].elements['Submit'].disabled = 'disabled';
        return false;
       }
    Ajax.call( 'user.php?act=checkrec_user', 'rec_user=' + rec_user, checkrec_user_callback , 'GET', 'TEXT', true, true );
}


function checkrec_user_callback(result)
{
  if ( result == 'true' )
  {
    document.getElementById('rec_user_notice').innerHTML = '推荐人正确';
    document.forms['formUser'].elements['Submit'].disabled = '';
  }
  else
  {
    document.getElementById('rec_user_notice').innerHTML = '推荐人不存在';
    document.forms['formUser'].elements['Submit'].disabled = 'disabled';
  }
}

在user.php查找:
/* 验证用户注册用户名是否可以注册 */
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';
    }
}

在下面添加

/* 验证推荐人注册用户名是否存在 */
elseif ($action == 'checkrec_user')
{
    include_once(ROOT_PATH . 'includes/lib_passport.php');
    
    $rec_user = trim($_GET['rec_user']);

    if ($user->check_user($rec_user))
    {
        if (!empty($recone))
        {
            echo 'false';
        }
        else
        {
            echo 'true';
        }
    }
}

致此,完成验证功能。

 


*本文Tags关键字: 
*本文链接: http://www.gztianxun.net/a/News/Notes/2014/1230/165.html 转载请注明出自“精美网”!
*以上内容除注明“原创”外,均收集于互联网。如有侵犯您的权益,请来信告知,我们马上删除!Email:78008929@qq.com