我用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']);

刷新,成功!!