我剛剛遷移了我的網站。但是我遇到了問題。Magento客戶無法登錄
我的客戶無法登錄到他們的帳戶。點擊登錄頁面登錄。 http://www.mywebsite.com/customer/account/login/ 它應該登錄他們的帳戶,但它會重定向同一頁面。
請幫我解決這個問題?
我剛剛遷移了我的網站。但是我遇到了問題。Magento客戶無法登錄
我的客戶無法登錄到他們的帳戶。點擊登錄頁面登錄。 http://www.mywebsite.com/customer/account/login/ 它應該登錄他們的帳戶,但它會重定向同一頁面。
請幫我解決這個問題?
第1步:Web_Customer.xml
- 啓用自定義模塊:
<?xml version=」1.0″?>
<config>
<modules>
<Web_Customer>
<active>true</active>
<codePool>local</codePool>
</Web_Customer>
</modules>
</config>
步驟2:3210配置 - 我們的模塊:
<?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步:添加以下代碼剛過排隊139 loginPostAction()
AccountController.php
<?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緩存。
我也有同樣的問題,當升級到1.8.1.0.so我試着this.its爲我工作。 –
非常感謝您的解決方案。我只是發現這個錯誤來自magento 1.8.1版本。所以這是這個問題的解決方案檢查了這一點http://blueclawecommerce.co.uk/blog/fix-customer-cannot-login-to-magento-1-8-1/ – sobaaroi
轉到template/customer/form/login.phtml
和template/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/
爲我工作,謝謝! – lenniep
這是一個壞主意。你將首先擊敗form_key的目的。 – seanbreeden
升級到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 ...>
開標籤
男人,你剛剛救了我一天。來斯洛文尼亞,我會給你一杯啤酒:) – deanpodgornik
正是我在找什麼。 TYFM! – Lemonade
你是如何存儲會話數據? – input
@input我對magento很陌生。你的意思是在local.xml中嗎?如果是<![CDATA [files]]> session_save> –
sobaaroi
/var/session /中是否有大量文件? – input