6

Guests are not able to create new account.

After they filling the form and pressing on create an account nothing is happening, no account created and no error is showing.

5 Answers 5

14

I have same issue after upgrade from magento 2.1.8 to 2.1.9. I am using custom theme.

I have added form key code in file after <form> tag at line 21. app/design/frontend/<Vendor>/<theme>/Magento_Customer/templates/form/register.phtml

Code

<?php echo $block->getBlockHtml('formkey')?>
2
  • 2
    Why does the registration work in the default Magento template? There is no formkey there either. Dec 11, 2017 at 16:08
  • There is at least in Magento 2.1.14 Check /vendor/magento/module-customer/view/frontend/templates/form/register.phtml
    – Gediminas
    Feb 18, 2019 at 20:02
4

Those developing locally encountering this issue:

Make sure that you are not using localhost as your domain name.

Using Xdebug, I determined that the form key output to /vendor/magento/module-customer/view/frontend/templates/form/register.phtml (or any form for that matter) via $block->getBlockHtml('formkey'); was not the same that was ultimately rendered in the HTML form_key hidden input element.

I determined that the problem stems from the _create function in /vendor/magento/module-page-cache/view/frontend/web/js/page-cache.js.

Within this function, $.mage.cookies.get('form_key'); returns null when using localhost, hence a new random key is generated and overwrites the form key value provided by the block output mentioned above.

Solution:

Using 127.0.0.1 instead of localhost (or, of course mapping any other desired domain name to 127.0.0.1) resolves this issue.

3

I could say that in your custom register.phtml template where the registration form is, that there is not form key in the form that you submit. Add after the form element the following code

<?php /* @noEscape */ echo $block->getBlockHtml('formkey'); ?>

Don't forget afterwards to clear cache.

2

You must be using chrome browser.Try in other browser.

Change your localhost address as a site name(localhost.com) in (/etc/hosts file) which make it look secure to a browser. Use same address in base url option in Stores->Web->Base URLs

3
  • not working on all browsers why to use localhost my site is live Sep 26, 2017 at 19:02
  • 1. check permissons of root directory 2. configure server file and hosts file 3. restart server Sep 26, 2017 at 19:05
  • DId you update magento to another version lately?
    – Nikolas
    Sep 26, 2017 at 21:18
0

please provide the 'ipaddress' instead of 'localhost'(url) in core_config_data table in phpmyadmin

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.