Magento客户无法登录

时间:2013-12-13 11:42:51

标签: magento logging

我刚迁移了我的网站。但我遇到了问题。

我的客户无法登录其帐户。单击登录登录页面时。 http://www.mywebsite.com/customer/account/login/ 它应该登录他们的帐户,但它会重定向同一页面。

请帮我解决这个问题?

3 个答案:

答案 0 :(得分:23)

升级到Magento 1.8.1后,您需要编辑现有的模板文件。

下面列出的文件需要更改才能与Magento 1.8.1兼容。如果它们存在于您的自定义主题中,请将它们与原始base/default/template文件进行比较。

  • your_package/your_theme/template/customer/form/newsletter.phtml
  • your_package/your_theme/template/customer/form/login.phtml
  • your_package/your_theme/template/customer/form/edit.phtml
  • your_package/your_theme/template/customer/address/edit.phtml
  • your_package/your_theme/template/whishlist/view.phtml
  • your_package/your_theme/template/whishlist/sharing.phtml
  • your_package/your_theme/template/review/form.phtml
  • your_package/your_theme/template/persistent/customer/form/login.phtml
  • your_package/your_theme/template/persistent/checkout/onepage/login.phtml
  • your_package/your_theme/template/checkout/onepage/login.phtml
  • your_package/your_theme/template/checkout/multishipping/overview.phtml
  • your_package/your_theme/template/checkout/cart.phtml
  • your_package/your_theme/template/catalog/product/view.phtml
  • your_package/your_theme/template/sendfriend/send.phtml
  • your_package/your_theme/template/sales/reorder/sidebar.phtml

修改这些文件,并在<?php echo $this->getBlockHtml('formkey'); ?>打开标记

之后添加<form ...>

答案 1 :(得分:0)

第1步:Web_Customer.xml - 启用自定义模块:

<?xml version=”1.0″?>
<config>
<modules>
<Web_Customer>
<active>true</active>
<codePool>local</codePool>
</Web_Customer>
</modules>
</config>

第2步:config.xml - 我们模块的配置:

<?xml version=”1.0″?>
<config>
<modules>
<Web_Customer>
<version>0.0.1</version>
</Web_Customer>
</modules>
<frontend>
<routers>
<customer><!– Name of core module to be overridden–>
<args>
<modules>
<Web_Customer before=”Mage_Customer”>Web_Customer</Web_Customer><!– Tell Magento to call our custom module before the Mage/Checkout module –>
</modules>
</args>
</customer>
</routers>
</frontend>
</config>

第3步:在loginPostAction()

中打开AccountController.php后,将以下代码添加到第139行
<?php
require_once(“Mage/Customer/controllers/AccountController.php”);
class Web_Customer_AccountController extends Mage_CUstomer_AccountController{
public function loginPostAction()
{
// generate form_key if missing or invalid
if (!($formKey = $this->getRequest()->getParam(‘form_key’, null)) || $formKey != Mage::getSingleton(‘core/session’)->getFormKey()) {
$this->getRequest()->setParams(array(‘form_key’ =>Mage::getSingleton(‘core/session’)->getFormKey()));
}

//Note*
// rest code is same as from Mage/Customer/controllers/AccountController.php
}
}
?>

完成后,不要忘记清除Magento缓存。

答案 2 :(得分:0)

  • 转到template/customer/form/login.phtmltemplate/persistent/customer/form/login.phtml,然后转到

    <ul class="form-list">
    
  • 在登录表单中添加以下代码

    <input type="hidden" name="form_key" value="<? echo Mage::getSingleton('core/session')->getFormKey(); ?>" />
    

或者,如果您在具有不同模板文件的多个地方使用登录表单

  • app/code/core/Mage/Customer/controllers/AccountController.php复制到app/code/local/Mage/Customer/controllers/AccountController.php

  • 打开已复制到本地的AccountController.php,并在打开loginPostAction()之后将以下代码添加到第139行

    // generate form_key if missing or invalid
    if (!($formKey = $this->getRequest()->getParam('form_key', null)) || $formKey != Mage::getSingleton('core/session')->getFormKey()) {
        $this->getRequest()->setParams(array('form_key' =>Mage::getSingleton('core/session')->getFormKey()));
    }
    

http://www.blueclawsearch.co.uk/blog/2013/12/12/fix-customer-cannot-login-to-magento-1-8-1/