菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

在ECShop二次开发中添加推荐人验证功能到注册页面

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:ecshop教程 彩票源码

在ECShop二次开发中,要添加推荐人验证功能,首先需要在数据库中添加一个字段用于存储推荐人的信息。然后在用户注册页面,添加一个输入框让用户输入推荐人的用户名或者ID。当用户提交注册信息时,后台程序需要检查这个输入框的内容是否有效,即是否存在于数据库中。如果存在,那么就将这个推荐人的信息存入到新用户的记录中。这样,就可以实现推荐人验证功能了。这个功能可以激励用户邀请他们的朋友来使用我们的服务,从而增加用户数量和活跃度。

实现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文件

找到方法

functionis_registered(username);

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

functionis_rec_registered(rec_user)

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


代码如下:

//推荐人修改startfunctionis_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="";//zhouhuandocument.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;}}

希望可以帮助到你。



相关文章

    无相关信息
评论
建站知识
建站知识
使用技巧
调试安装
运营推广