完成ecshop注册页有推荐人功用,首要修正4个页面 思路,便是仿制 用户名input的功用给推荐人就行了 不必改底层

1.前台模板 user_passport.dwt

2.js(jquery完成的)文件 user.js

3.前台 user.php

4. lib_passport.php


1首要在用户注册模板中的相关方位增加 推荐人input html特点

{$lang.label_email}


{$lang.label_rec_user}

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


2.翻开 user.js文件

找到办法

functionis_registered(username);

仿制并在其下面张贴一份 修正姓名为

functionis_rec_registered(rec_user)

独自验证推荐人是否是现已注册的用户、


代码如下:

//推荐人修正start
functionis_rec_registered(rec_user)
{
varsubmit_disabled=false;
varunlen=rec_user.replace(/[^x00-xff]/g,"**").length;

if(rec_user=='')
{
document.getElementById('rec_user_notice').innerHTML='推荐人不允许为空!';
varsubmit_disabled=true;
}

if(!chkstr(rec_user))
{
document.getElementById('rec_user_notice').innerHTML='推荐人包括不合法字符';
varsubmit_disabled=true;
}
if(unlen<3)
{
document.getElementById('rec_user_notice').innerHTML='推荐人长度不能少于3个字符。';
varsubmit_disabled=true;
}
if(unlen>14)
{
document.getElementById('rec_user_notice').innerHTML='推荐人长度多多少于14个字符。';
varsubmit_disabled=true;
}
if(submit_disabled)
{
document.forms['formUser'].elements['Submit'].disabled='disabled';
returnfalse;
}
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的真假状况,在页面提示信息(推荐人不存在...)
functionrec_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="SELECTuser_idFROM".$GLOBALS['ecs']->table('users')."WHEREuser_name='$rec_user'";
$recone=$GLOBALS['db']->getOne($recsql);
if($recone)
{
$up_uid=$recone;
}
}

期望能够协助到你。



声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:ecshop二次开发注册页面添加推荐人验证功能发布于2022-05-23 07:43:54

相关推荐