您现在的位置是:首页 > 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);        }    }
完成。

本文标签:

很赞哦! ()

相关源码

  • (PC+手机)帝国cms7.5漫画图片连载网站源码免费下载本模板基于帝国CMS7.5深度开发,为漫画阅读类网站打造。整体设计风格贴合漫画行业特性,界面布局充分考虑漫画作品的展示需求,支持多种漫画阅读模式。模板采用响应式设计,能够自动适配PC端和移动端设备,为读者提供流畅的阅读体验。查看源码
  • (自适应响应式)家电维修清晰服务网站pbootcms模板免费下载本模板基于PbootCMS内核开发,为维修服务类企业打造,特别适合家电维修、设备维护等行业使用。通过简洁直观的界面设计,帮助企业快速搭建专业级服务平台,实现线上业务高效管理。查看源码
  • (响应式自适应)小学初中作文论文文章资讯博客pbootcms模板下载为中小学作文、教育类网站设计,特别适合展示学生作文、教学资源和写作指导等内容。采用响应式技术,确保在不同设备上都能获得良好的阅读体验。查看源码
  • pbootcms模板(自适应手机版)红色响应式单位机构类网站自适应响应式单位机构网站模板 | PbootCMS内核开发为机构组织设计的响应式网站模板,采用PbootCMS内核开发,支持一键替换行业内容,满足多元化场景需求。查看源码
  • (PC+WAP)蓝色钢结构机械五金工程建筑基建营销型pbootcms模板下载于PbootCMS开发的钢结构与工程机械专用模板,助力企业构建专业级产品展示平台;模板内置工程案例展示、产品参数对照表等专业模块,预设项目进度、施工方案等建筑行业专属栏目查看源码
  • (PC+WAP)五金机械设备营销型模板下载带在线留言为机械设备制造商设计的营销型模板,集成产品参数对比系统、产品展示模块和询价管理功能。采用PbootCMS开发内核,PHP7+运行环境。手工编写语义化HTML5结构,CSS3动画优化交互体验。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐