實(shí)現(xiàn)ecshop注冊(cè)頁(yè)有推薦人功能,主要修改4個(gè)頁(yè)面 思路,就是復(fù)制 用戶名input的功能給推薦人就行了 不用改底層
1.前臺(tái)模板 user_passport.dwt
2.js(jquery實(shí)現(xiàn)的)文件 user.js
3.前臺(tái) user.php
4. lib_passport.php
1首先在用戶注冊(cè)模板中的相關(guān)位置添加 推薦人input html屬性
{$lang.label_email}
{$lang.label_rec_user}
is_rec_registered(this.value) js函數(shù) 就需要在 user.js中去修改了
2.打開(kāi) user.js文件
找到方法
function is_registered( username );
復(fù)制并在其下面粘貼一份 修改名字為
function is_rec_registered( rec_user )
單獨(dú)驗(yàn)證推薦人是否是已經(jīng)注冊(cè)的用戶、
代碼如下:
//推薦人修改 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 = '推薦人長(zhǎng)度不能少于 3 個(gè)字符。'; var submit_disabled = true; } if ( unlen > 14 ) { document.getElementById('rec_user_notice').innerHTML = '推薦人長(zhǎng)度多多少于 14 個(gè)字符。'; 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 ); } 注冊(cè) ajax.call 調(diào)用的函數(shù) rec_registed_callback() 改函數(shù)實(shí)現(xiàn)根據(jù)返回的 result的真假狀態(tài),在頁(yè)面提示信息(推薦人不存在...) 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 = '推薦人不存在,請(qǐng)重新輸入'; document.forms['formUser'].elements['Submit'].disabled = 'disabled'; } } //推薦人修改 end
3. 修改user.php文件 重要?。。?!
首先找到
$not_login_arr =array('login','act_login';
在這個(gè)數(shù)組里面講 act的 is_rec_registered加進(jìn)去
$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');
再添加下面代碼, 當(dāng)act == is_rec_registered的時(shí)候 執(zhí)行下面操作(檢查推薦人是否注冊(cè))
/* 驗(yàn)證推薦人是否注冊(cè) */ 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語(yǔ)句替換成 (原來(lái)的是根據(jù)ID查找,現(xiàn)在根據(jù)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; } }
希望可以幫助到你。
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: ecshop二次開(kāi)發(fā)注冊(cè)頁(yè)面添加推薦人驗(yàn)證功能