Klient nie może się zalogować

12

Właśnie przeprowadziłem migrację mojej witryny. Ale mam problem.

Moi klienci nie mogą zalogować się na swoje konto. Po kliknięciu zaloguj się na stronie logowania. http://www.mywebsite.com/customer/account/login/ Należy zalogować się na ich konto, ale przekierowuje tę samą stronę.

Jestem bardzo nowy w Magento. Pomóż mi, jak to naprawić?

Nattapong Lip Kiatmongkollert
źródło
Wersja Magento?
Fabian Blechschmidt,
@FabianBlechschmidt 1.8.1 Sir
Nattapong Lip Kiatmongkollert

Odpowiedzi:

20

Czy masz niestandardowy szablon i czy działał w wersji 1.7? W 1.8.1 dodano form_keys, więc sprawdź niestandardowy szablon dla tego wiersza:

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

jeśli go brakuje, dodaj go jak w

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

I sprawdź wszystkie inne formularze po aktualizacji:

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

Fabian Blechschmidt
źródło
Szanowny Panie, nie mam niestandardowego szablonu. Nie dotknąłem pliku podstawowego. I <? Php echo $ this-> getBlockHtml ('formkey'); ?> nie brakuje. Jakieś sugestie?
Nattapong Lip Kiatmongkollert
1
Proszę przestać nazywać mnie panem :) I nie, to był jedyny pomysł, jaki miałem :-(
Fabian Blechschmidt,
1
to jest problem, który opisałem ;-) Świetnie to rozwiązałeś!
Fabian Blechschmidt
W każdym razie dziękuję za pomoc. Naprawdę zadowolony. :)
Nattapong Lip Kiatmongkollert
4

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

Oto, co ma do powiedzenia powyższy link:

  • Idź do template/customer/form/login.phtmli template/persistent/customer/form/login.phtmloraz pod

    <ul class="form-list">
  • Dodaj następujący kod w formularzu logowania

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

Jeśli używasz formularza logowania w różnych szablonach, możesz dodać również form_keydo innych części.

Nattapong Lip Kiatmongkollert
źródło
5
Nic poza linkiem do rozwiązania nie jest odpowiednie w witrynach Stack Exchange, ponieważ może zachęcać do spamowania linkami. Ponadto linki zewnętrzne mogą z czasem ulec zmianie, hamując to „rozwiązanie”. Proszę opublikować rozwiązanie tutaj i odwołać się do linku źródłowego po, jeśli chcesz.
shanemgrey
Jak ostrzegał Shaneveeg, link jest teraz zerwany, pozostawiając resztę z nas w tym stanie .
toon81
1

Zrobiłem to w /app/Mage/Customer/controllers/AccountController.php

Wprowadziłem te zmiany i zaczęło to działać dla mnie

/**
 * 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
źródło