您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop用户中心修改用户信息增加会员密码问题验证
沛珊2024-01-16Ecshop商城教程已有人查阅
导读ECSHOP用户中心修改"用户信息"增加会员密码问题验证目的增加会员安全 ,修改会员密码需要,问题验证
ECSHOP用户中心修改"用户信息"增加会员密码问题验证目的增加会员安全 ,修改会员密码需要,问题验证
教程开始
1、themes\default\user_transaction.dwt 将
<select name='sel_question'> <option value='0'>{$lang.sel_question}</option> {html_options options=$passwd_questions selected=$profile.passwd_question} </select>
修改为
<select name='sel_question' onblur="checkSelQuestion(this.value);" id="sel_question"> <option value='0'>{$lang.sel_question}</option> {html_options options=$passwd_questions selected=$profile.passwd_question} </select> <span id="sel_question_notice" style="color:#FF0000"> *</span>
将
<input name="passwd_answer" type="text" size="25" class="inputBg" maxlengt='20' value="{$profile.passwd_answer}"/><!-- {if $field.is_need} --><span style="color:#FF0000"> *</span><!-- {/if} -->
修改为
<input name="passwd_answer" type="text" size="25" class="inputBg" maxlengt='20' value="" id="passwd_answer" onblur="checkSelAnswer(this.value);"/><!-- {if $field.is_need} --><span id="passwd_answer_notice" style="color:#FF0000"> *</span><!-- {/if} -->
2.js\user.js 找到function userEdit()中的
if (passwd_answer.length > 0 && sel_question == 0 || document.getElementById('passwd_quesetion') && passwd_answer.length == 0) { msg += no_select_question + '\n'; }
替换成
if(!checkAnswer(passwd_answer)){ msg += '- ' + '密码问题答案不正确' + '\n';}
在function userEdit()后添加
function checkAnswer(passwd_answer){ result = Ajax.call( 'user.php?act=check_passwd_answer', 'passwd_answer=' + passwd_answer, null , 'GET', 'TEXT', false ); result = result.replace(/^\s+|\s+$/g,""); if ( result != "ok" ){ return false; }else{ return true; }} /* ** 修改用户信息时验证密码问题*/function checkSelQuestion(sel_question){ if (sel_question == 0){ document.getElementById('sel_question_notice').innerHTML = '必须选择您的密码问题'; } else{ result = Ajax.call( 'user.php?act=check_sel_question', 'sel_question=' + sel_question, null , 'GET', 'TEXT', false ); result = result.replace(/^\s+|\s+$/g,""); if ( result == 'ok' ){ document.getElementById('sel_question_notice').innerHTML = '密码问题正确'; } else{ document.getElementById('sel_question_notice').innerHTML = '请选择正确的密码问题'; } }} /* ** 修改用户信息时验证密码问题答案*/function checkSelAnswer(passwd_answer){ if (passwd_answer == 0){ document.getElementById('passwd_answer_notice').innerHTML = '必须填写您的密码问题答案'; } else{ result = Ajax.call( 'user.php?act=check_passwd_answer', 'passwd_answer=' + passwd_answer, null , 'GET', 'TEXT', false ); result = result.replace(/^\s+|\s+$/g,""); if ( result == 'ok' ){ document.getElementById('passwd_answer_notice').innerHTML = '密码问题答案正确'; } else{ document.getElementById('passwd_answer_notice').innerHTML = '答案不正确请重新输入'; } }}
3.user.php中在
/* 用户登录界面 */elseif ($action == 'login')
/* 用户登录界面 */
elseif ($action == 'login')
/*验证密码问题是否正确*/elseif($action == 'check_sel_question'){ $sel_question = trim($_GET['sel_question']); $question = $user->check_sel_question($user_id); if (strcmp($sel_question, $question)!= 0){ echo 'false'; } else{ echo 'ok'; }}/*验证密码问题答案是否正确*/elseif($action == 'check_passwd_answer'){ $question = $user->check_sel_question($user_id); $answer = $user->check_passwd_answer($user_id,$question); $passwd_answer = trim($_GET['passwd_answer']); if (strcmp($answer, $passwd_answer)!= 0){ echo 'false'; } else{ echo 'ok'; }}
4.includes\modules\integrates\integrate.php,在
/* 会员手机的字段名 */ var $field_phone = '';
之后,添加
/* 会员问题的字段名 */ var $field_question = ''; /* 会员问题的回答字段名 */ var $field_answer = '';
在
/** * 检查cookie是正确,返回用户名 * * @access public * @param * * @return void */ function check_cookie()
之上,添加
/** * 检查指定密码问题是否为注册时设置的那个 * * @access public * @param string $user_id 用户id * * @return boolean */ function check_sel_question($user_id){ if (!empty($user_id)){ $sql = "SELECT passwd_question" . $this->field_question . " FROM " . $this->table($this->user_table). " WHERE " . $this->field_id . "='" . $user_id . "'"; return $this->db->getOne($sql); } } /** * 检查指定密码问题答案是否正确 * * @access public * @param string $user_id 用户id * @param string $question 密码问题 * * @return boolean */ function check_passwd_answer($user_id,$question){ if (!empty($user_id)){ $sql = "SELECT passwd_answer" . $this->field_answer . " FROM " . $this->table($this->user_table). " WHERE " . $this->field_id . "='" . $user_id . "' AND passwd_question" . " = '" .$question. "'"; return $this->db->getOne($sql); } }
完成。
教程开始
1、themes\default\user_transaction.dwt 将
<select name='sel_question'> <option value='0'>{$lang.sel_question}</option> {html_options options=$passwd_questions selected=$profile.passwd_question} </select>
修改为
<select name='sel_question' onblur="checkSelQuestion(this.value);" id="sel_question"> <option value='0'>{$lang.sel_question}</option> {html_options options=$passwd_questions selected=$profile.passwd_question} </select> <span id="sel_question_notice" style="color:#FF0000"> *</span>
将
<input name="passwd_answer" type="text" size="25" class="inputBg" maxlengt='20' value="{$profile.passwd_answer}"/><!-- {if $field.is_need} --><span style="color:#FF0000"> *</span><!-- {/if} -->
修改为
<input name="passwd_answer" type="text" size="25" class="inputBg" maxlengt='20' value="" id="passwd_answer" onblur="checkSelAnswer(this.value);"/><!-- {if $field.is_need} --><span id="passwd_answer_notice" style="color:#FF0000"> *</span><!-- {/if} -->
2.js\user.js 找到function userEdit()中的
if (passwd_answer.length > 0 && sel_question == 0 || document.getElementById('passwd_quesetion') && passwd_answer.length == 0) { msg += no_select_question + '\n'; }
替换成
if(!checkAnswer(passwd_answer)){ msg += '- ' + '密码问题答案不正确' + '\n';}
在function userEdit()后添加
function checkAnswer(passwd_answer){ result = Ajax.call( 'user.php?act=check_passwd_answer', 'passwd_answer=' + passwd_answer, null , 'GET', 'TEXT', false ); result = result.replace(/^\s+|\s+$/g,""); if ( result != "ok" ){ return false; }else{ return true; }} /* ** 修改用户信息时验证密码问题*/function checkSelQuestion(sel_question){ if (sel_question == 0){ document.getElementById('sel_question_notice').innerHTML = '必须选择您的密码问题'; } else{ result = Ajax.call( 'user.php?act=check_sel_question', 'sel_question=' + sel_question, null , 'GET', 'TEXT', false ); result = result.replace(/^\s+|\s+$/g,""); if ( result == 'ok' ){ document.getElementById('sel_question_notice').innerHTML = '密码问题正确'; } else{ document.getElementById('sel_question_notice').innerHTML = '请选择正确的密码问题'; } }} /* ** 修改用户信息时验证密码问题答案*/function checkSelAnswer(passwd_answer){ if (passwd_answer == 0){ document.getElementById('passwd_answer_notice').innerHTML = '必须填写您的密码问题答案'; } else{ result = Ajax.call( 'user.php?act=check_passwd_answer', 'passwd_answer=' + passwd_answer, null , 'GET', 'TEXT', false ); result = result.replace(/^\s+|\s+$/g,""); if ( result == 'ok' ){ document.getElementById('passwd_answer_notice').innerHTML = '密码问题答案正确'; } else{ document.getElementById('passwd_answer_notice').innerHTML = '答案不正确请重新输入'; } }}
3.user.php中在
/* 用户登录界面 */elseif ($action == 'login')
/* 用户登录界面 */
elseif ($action == 'login')
/*验证密码问题是否正确*/elseif($action == 'check_sel_question'){ $sel_question = trim($_GET['sel_question']); $question = $user->check_sel_question($user_id); if (strcmp($sel_question, $question)!= 0){ echo 'false'; } else{ echo 'ok'; }}/*验证密码问题答案是否正确*/elseif($action == 'check_passwd_answer'){ $question = $user->check_sel_question($user_id); $answer = $user->check_passwd_answer($user_id,$question); $passwd_answer = trim($_GET['passwd_answer']); if (strcmp($answer, $passwd_answer)!= 0){ echo 'false'; } else{ echo 'ok'; }}
4.includes\modules\integrates\integrate.php,在
/* 会员手机的字段名 */ var $field_phone = '';
之后,添加
/* 会员问题的字段名 */ var $field_question = ''; /* 会员问题的回答字段名 */ var $field_answer = '';
在
/** * 检查cookie是正确,返回用户名 * * @access public * @param * * @return void */ function check_cookie()
之上,添加
/** * 检查指定密码问题是否为注册时设置的那个 * * @access public * @param string $user_id 用户id * * @return boolean */ function check_sel_question($user_id){ if (!empty($user_id)){ $sql = "SELECT passwd_question" . $this->field_question . " FROM " . $this->table($this->user_table). " WHERE " . $this->field_id . "='" . $user_id . "'"; return $this->db->getOne($sql); } } /** * 检查指定密码问题答案是否正确 * * @access public * @param string $user_id 用户id * @param string $question 密码问题 * * @return boolean */ function check_passwd_answer($user_id,$question){ if (!empty($user_id)){ $sql = "SELECT passwd_answer" . $this->field_answer . " FROM " . $this->table($this->user_table). " WHERE " . $this->field_id . "='" . $user_id . "' AND passwd_question" . " = '" .$question. "'"; return $this->db->getOne($sql); } }
完成。
本文标签:
很赞哦! ()
相关教程
图文教程
ecshop商城首页商品显示已销售数量的实现方法
ECSHOP商城首页商品显示已销售数量修改教程,步骤一:打开文件 includes/lib_goods.php在该文件的末尾添加如下代码片段
ecshop登陆后价格可见,会员注册登陆才显示价格
ECSHOP商品页面显示登陆后价格可见,会员注册登陆才能显示价格。打开模版ECSHOP商城模板文件夹里面的goods.dwt
ecshop前后台出现Notice: Undefined variable: data in的解决方
今天有一个客户的ecshop网站访问不了,打开他的网站出现一个很少出现的错误提示“Notice: Undefined variable: data in ”,详细错误提示如下:
ecshop出现Deprecated: preg_replace()报错的解决方法
随着PHP5.5 的普及,ECSHOP系统又爆出了新的错误。PHP发展到PHP5.5版本以后,有了很多细微的变化。而ECSHOP官方更新又太慢,发现这些问题后也不及时升级
相关源码
-
(自适应)工业机械制造设备网站pbootcms模板下载为机械制造、工业设备类企业设计,特别适合各类机械设备、生产线、工业自动化产品展示。采用响应式技术,确保在不同设备上都能清晰展示机械产品的技术参数和细节特点。查看源码 -
pbootcms网站网络公司个人作品展示类网站源码(自适应)为网站建设公司、网络服务企业打造的响应式门户解决方案,基于PbootCMS内核深度开发。采用前沿自适应架构,无缝适配手机端交互与PC端展示需求。查看源码 -
响应式pbootcms模板新闻资讯博客自媒体门户网站行业通用解决方案为新闻资讯、自媒体博客打造的响应式网站模板,同时支持企业门户、行业资讯等多场景快速适配。通过简单的图文替换即可实现跨行业转型,显著降低建站成本。查看源码 -
(自适应)刷卡pos机数据移动支付设备电子科技pbootcms模板下载本模板为POS机设备制造商、移动支付终端服务商和科技企业设计,基于PbootCMS系统开发,提供完整的在线展示平台解决方案,满足支付设备行业特有的展示需求。查看源码 -
(自适应响应式)瓷砖大理石装修建材类网站pbootcms模板html5模板本模板基于PbootCMS开发,针对瓷砖、大理石等建材行业特点进行优化设计。采用响应式布局技术,确保产品展示效果在不同设备上都能合理呈现。模板特别强化了石材纹理的视觉表现力,帮助建材企业更好地展示产品质感。查看源码 -
(PC+WAP)中英双语户外用品帐篷装备pbootcms网站模板下载这款基于PbootCMS开发的中英文双语模板专为户外装备行业设计,适配PC和移动设备。模板采用现代化设计风格,突出户外产品的功能性和实用性,帮助企业建立专业的国际化展示平台。查看源码
| 分享笔记 (共有 篇笔记) |
