php做推荐人,ecshop注册页面添加推荐人验证功能

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

1.前台模板   user_passport.dwt

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

3.前台       user.php

4.             lib_passport.php

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

7306f9b19a56170f1b5afb83a9bc0dcb.png

{$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;

}

}

大体流程思路就这样,   具体要你自己实际中去修改细节,希望可以帮助到你

(责任编辑:最模板)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值