На моем magento сайте я включил форму настраиваемой темы Captcha for Create Account, которую я создал с нуля (не «rwd»), но когда я пытаюсь зарегистрировать клиента с указанием правильного кода капчи в поле, даже тогда он показывает «Неправильно». Капча "после обновления и перенаправления на ту же страницу.
Нет предупреждений / ошибок ни на клиенте, ни на сервере.
Кто-нибудь может направить меня?
Ответы:
Вы можете решить, отладить процесс проверки капчи.
Поэтому, пожалуйста, следуйте приведенному ниже процессу.
Magento
customer registration form's
капча была проверена в классеMage_Captcha_Model_Observer
на функцию,checkUserCreate()
используяcontroller_action_predispatch_customer_account_createpost
событие.Здесь есть проверка значения капчи при использовании:
Это означает, что здесь magento отправляет значение поля
captcha[user_create]
и поле совпадает сMage_Captcha_Model_Zend
функциейisCorrent()
Это поле соответствует значению сеанса.
ценность
С помощью этого вы можете отслеживать, где проблема
источник
Проблема может указывать на неправильное имя поля ввода (например,
name="captcha_user_create"
вместоname="captcha[user_create]"
). Или JS captcha initnew Captcha(...)
запускается дважды.Есть ли файл
template/captcha/zend.phtml
в вашей пользовательской теме?Вы используете капчу на других страницах (забыли пароль, логин)? Работает ли он правильно на других страницах?
Вы используете две капчи на одной странице?
Также, пожалуйста, убедитесь, что вы не вызываете
Mage_Captcha_Model_Zend::isCorrect
метод дважды, так как он стирает значение с картинки. Если вы это сделаете, вы всегда получите сообщение «Неверная капча».источник
Просмотрите свой источник и посмотрите, есть ли другая форма CAPTCHA на странице.
У меня была такая же проблема. Проблема для меня заключалась в том, что расширение AjaxPro имело скрытую форму входа, которая также использовала CAPTCHA. Поскольку обе формы имели одно и то же имя блока «captcha», мой блок использовался дважды, и код обновлялся для второй (скрытой) формы при загрузке страницы, тем самым аннулируя один из них в моей форме. Поэтому мне пришлось переименовать блок для моей пользовательской формы, например, с «captcha» на «captcha.custom». Тогда это работало отлично.
источник
Одной из причин этого, помимо уже упомянутых, может быть наличие ресурса с неправильной ссылкой, пытающегося загрузить из JS-запроса по тому же URL-адресу запроса, что для нескольких страниц Magento вызывает регенерацию капчи в сеансе без обновления внешнего интерфейса. показанное изображение с картинки, так как вывод пойдет на этот ajax-запрос.
Например, у меня был лайтбокс JS, пытающийся загрузить изображение, ссылающееся на относительный путь, что вызывало дополнительный запрос к / customer / account / Forgotpassword со следующим путем запроса: /customer/account/forgotpassword/images/black.png Это вызывает изменение кода капчи в сеансе.
источник