用opencart2.2.0.0做了一个网站,前台注册了一个测试账户,把自己当成客人全面体验网站的易用性。 一些日子之后,我忘记了这个测试账号的密码,只记得是用了一个常用的QQ邮箱来注册。于是我点击了“忘记密码”链接决定重置我的密码。 邮箱立马就收到了一封信,信里面有一个重置密码的链接,点击,修改。一切都很顺利。 然后我准备用新密码登陆,坏事儿了!密码错误。 下面是修改办法: 第一步:打开 /catalog/model/account/customer.php 找到第128行,把原来的: "SELECT customer_id, firstname, lastname FROM `" . DB_PREFIX . "customer` WHERE code = '" . $this->db->escape($code) . "' AND code != ''" 替换为: "SELECT customer_id, firstname, lastname, email FROM `" . DB_PREFIX . "customer` WHERE code = '" . $this->db->escape($code) . "' AND code != ''" 第二步:打开catalog/controller/account/reset.php 找到第25行(25行下面)把原来的: $this->model_account_customer->editPassword($customer_info['customer_id'], $this->request->post['password']); 替换为: $this->model_account_customer->editPassword($customer_info['email'], $this->request->post['password']); 刷新,成功!! 这个方法与上次的直接替换已知密码方法不同,不过可以借鉴,非常棒的方法 (责任编辑:好模板) |