完成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