고객이 로그인 할 수 없습니다 없습니다. 로그인 페이지에서

방금 웹 사이트를 마이그레이션했습니다. 하지만 문제가 생겼습니다.

고객이 계정에 로그인 할 수 없습니다. 로그인 페이지에서 로그인을 클릭하면 http://www.mywebsite.com/customer/account/login/ 계정에 로그인해야하지만 동일한 페이지로 리디렉션됩니다.

저는 마 젠토를 처음 접했습니다. 그 문제를 해결하는 방법을 도와주세요?



답변

사용자 정의 템플릿이 있고 1.7에서 작동 했습니까? 1.8.1에서 form_keys가 추가되었으므로 다음 줄에 대한 사용자 지정 템플릿을 확인하십시오.

<?php echo $this->getBlockHtml('formkey'); ?>

누락 된 경우 다음과 같이 추가하십시오.

/app/design/frontend/base/default/template/persistent/customer/form/login.phtml

업데이트 후 다른 모든 양식을 확인하십시오.

https://gist.github.com/drobinson/7913822


답변

http://www.blueclawsearch.co.uk/blog/2013/12/12/fix-customer-cannot-login-to-magento-1-8-1/ 이것은 문제에 대한 해결책입니다

위의 링크는 다음과 같습니다.

  • 로 이동 template/customer/form/login.phtml하고 template/persistent/customer/form/login.phtml세 이하

    <ul class="form-list">
  • 로그인 양식에 다음 코드를 추가하십시오

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

다른 템플릿에서 로그인 양식을 사용 form_key하는 경우 다른 부분에도 추가를 사용하십시오 .


답변

/app/Mage/Customer/controllers/AccountController.php 에서이 작업을 수행했습니다.

나는이 변경을하고 그것은 나를 위해 작동하기 시작했다

/**
 * Login post action
 */
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()
        ));
    }


답변