Неверный ключ формы. Пожалуйста, обновите страницу. ошибка при сохранении товара


14

Привет всем
Я получаю эту ошибку " Invalid Form Key. Please refresh the page." всякий раз, когда я пытаюсь сохранить свой продукт на панели администратора.
Я прошел по этой ссылке здесь, но безуспешно.
Когда я посмотрел на мой лог-файл, он показал мне это

2013-09-03T07:07:43+00:00 ERR (3): Notice: Undefined index: httponly  in /var/www/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 94
2013-09-03T07:07:43+00:00 ERR (3): Notice: Undefined index: secure  in /var/www/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 96
2013-09-03T07:07:43+00:00 ERR (3): Notice: Undefined index: domain  in /var/www/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 98

Я закомментировал строки в файле, как предлагается в этой статье здесь. И ошибки в лог-файлах пропали. Но по-прежнему не удается сохранить мой продукт и появляется ошибка «Неверный ключ формы. Пожалуйста, обновите страницу». как есть.
Я проверил данные поста в Firebug, и он показал мне

form_key    THJDhxajLIZnzrHt
form_key    {{formKey}}

как ключевые переменные формы, передаваемые при сохранении моего продукта. Когда я проверил это на моей локальной машине, он отображает меня

form_key    prvOwOCGjSKG6DpF
form_key    {{formKey}}
form_key    prvOwOCGjSKG6DpF

что-то вроде этого.
Кто-нибудь знает, что здесь не так. Здесь я вижу, что последнее значение для « form_key», передаваемое в прямом эфире, это « {{formkey}}», а в локальном - « prvOwOCGjSKG6DpF». Любая помощь приветствуется.

Ответы:


11

Есть еще один источник этой ошибки: ошибка cookie_domainв конфигурации. Поскольку вы не можете войти в админку, вы можете проверить это напрямую через mysql:

SELECT * FROM core_config_data WHERE path LIKE '%cookie_domain%';

Вы также можете изменить значение в MySQL напрямую. Не забудьте очистить кеш позже.



4

Сначала попробуйте отключить все пользовательские модули, которые вы установили, и посмотрите, сохраняется ли проблема.

Похоже, что-то добавляет на страницу продукта дополнительное поле, которое вступает в противоречие с параметром form_key, который используется загрузчиком мультимедиа и другими частями страницы редактирования продукта как одноразовый номер .


Здравствуйте, Росциус, как вы и предполагали, у меня должны быть проблемы с загрузкой файлов мультимедиа в папку magento js. Я заменил папку js и теперь все работает. Спасибо ..
Джаймин Сутария

2

проблема с вашим основным файлом. Пожалуйста, проверьте ниже путь и код. Вы должны прокомментировать ниже код для проблемы входа в Chrome.

 app/code/core/Mage/Core/Model/Session/Abstract/Varien.php:87
// session cookie params
$cookieParams = array(
    'lifetime' => $cookie->getLifetime(),
    'path'     => $cookie->getPath(),
    'domain'   => $cookie->getConfigDomain(),
    'secure'   => $cookie->isSecure(),
    'httponly' => $cookie->getHttponly()
);

if (!$cookieParams['httponly']) {
    unset($cookieParams['httponly']);
    if (!$cookieParams['secure']) {
        unset($cookieParams['secure']);
        if (!$cookieParams['domain']) {
            unset($cookieParams['domain']);
        }
    }
}

1

Присмотритесь к вашему файлу .htaccess. Когда я переносил хранилище Magento 1.7.0 на другой сервер, я включал файл .htaccess со старого сервера, а затем на экране появлялось сообщение «Неверный ключ формы. Пожалуйста, обновите страницу», и ничего не происходило, даже изменения конфигурации не оказали влияния. Решением было установить новый magento, а затем скопировать файлы My Store в корень Magento, исключая .htaccess. Когда я использовал .htaccess из новой установки, все начинает работать нормально. Я не знаю, что именно происходит, может быть, каждая структура сервера имеет разные и определенные записи и правила .htaccess. Это работает для меня.


1

Я не совсем уверен, в чем проблема, но, похоже, это результат ServerNameдиректив моего сервера Apache .

Я дал серверу тот же глобальный, ServerNameчто и мою установку Magento. Поскольку вся цель ключей форм (я думаю) связана с безопасностью доменных имен (XSRF и т. Д.), Это может быть причиной.

Я изменил свой глобальный ServerName, буквально, "example.com".

Затем я очистил кэш Magento и все сеансы на удаленном сервере и удалил файлы cookie в моем браузере.

И сейчас это работает.

max_input_varsданном случае это не имело ничего общего с PHP . У меня была другая проблема, связанная с ними, хотя. При сохранении продуктов категории max_input_varsсохранялось только первое число продуктов, а остальные были не связаны с категория. Таким образом, у вас уже может быть 10 000 товаров в категории, но когда вы попытаетесь добавить еще 1 в админку, и в итоге получите только 1000).


1

Эта ошибка возникает из-за переменной php.ini " max_input_vars ". Увеличьте ее до 10000 с помощью функции php ниже:

ini_set('max_input_vars', 10000);

ИЛИ Использование командной строки Linux

cd /etc/php/7.0/apache2/
vi php.ini (Open for edit and set max_input_vars=10000)
:wq(Press esc and write the mentioned command to save and exit)
sudo /etc/init.d/apache2 restart(Restart Server)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.