El cliente no puede iniciar sesión

12

Acabo de migrar mi sitio web. Pero tengo un problema.

Mis clientes no pueden iniciar sesión en su cuenta. Cuando haga clic en iniciar sesión en la página de inicio de sesión. http://www.mywebsite.com/customer/account/login/ Debe iniciar sesión en su cuenta pero redirige la misma página.

Soy muy nuevo en magento. Por favor, ¿me ayudas a arreglar eso?

Nattapong Lip Kiatmongkollert
fuente
Versión Magento?
Fabian Blechschmidt
@FabianBlechschmidt 1.8.1 Señor
Nattapong Lip Kiatmongkollert

Respuestas:

20

¿Tiene una plantilla personalizada y funcionó en 1.7? En 1.8.1 se agregaron form_keys, así que verifique su plantilla personalizada para esta línea:

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

si falta, agréguelo como en

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

Y verifique todos los otros formularios después de la actualización:

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

Fabian Blechschmidt
fuente
Estimado señor, no tengo una plantilla personalizada. No toqué el archivo principal. Y <? Php echo $ this-> getBlockHtml ('formkey'); ?> no falta. ¿Cualquier sugerencia?
Nattapong Lip Kiatmongkollert
1
Por favor, deje de llamarme señor :) Y no, fue la única idea que tuve :-(
Fabian Blechschmidt
1
este es el problema que describí ;-) ¡Genial, lo arreglaste!
Fabian Blechschmidt
De todos modos, gracias por tu ayuda. Muy contento. :)
Nattapong Lip Kiatmongkollert
4

http://www.blueclawsearch.co.uk/blog/2013/12/12/fix-customer-cannot-login-to-magento-1-8-1/ esta es una solución para el problema

Esto es lo que dice el enlace anterior:

  • Ir a template/customer/form/login.phtmly template/persistent/customer/form/login.phtmly bajo

    <ul class="form-list">
  • Agregue el siguiente código en el formulario de inicio de sesión

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

Si está utilizando el formulario de inicio de sesión en diferentes plantillas, también puede agregarlo form_keya las otras partes.

Nattapong Lip Kiatmongkollert
fuente
55
Nada más que un enlace a una solución no es apropiado en los sitios de Stack Exchange porque puede fomentar el spam de enlaces. Además, los enlaces externos pueden cambiar con el tiempo al frenar esta 'solución'. Publique la solución aquí y haga referencia al enlace de origen después si lo desea.
shanemgrey
Como advirtió shaneveeg, el enlace ahora está roto, dejándonos al resto en este estado .
toon81
1

He hecho esto en /app/Mage/Customer/controllers/AccountController.php

Hice estos cambios y comenzó a funcionar para mí.

/**
 * 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()
        ));
    }
Keshav Kalra
fuente