Недійсний ключ форми. Будь ласка, оновіть сторінку. помилка збереження продукту


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 і все працює зараз. Дякую ..
Jaimin Sutariya

2

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

 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 зі старого сервера, а потім повідомлення: "Недійсний ключ форми. Будь ласка, оновіть сторінку", з'являється на екрані, і нічого не відбувається, навіть зміни конфігурації не вплинули. Рішенням було встановити свіжий магенто, а потім скопіювати файли My Store у корінь Magento, виключаючи .htaccess. Коли я використовував .htaccess зі свіжої установки, все починає працювати добре. Я не знаю, що саме відбувається, можливо, кожна структура сервера має різні та конкретні записи .htaccess та правила. Це працює на мене.


1

Я не точно впевнений, у чому проблема, але, здається, це було наслідком ServerNameдиректив мого сервера Apache .

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

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

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

А зараз це працює.

(Це не мало нічого спільного з PHP max_input_varsв цьому випадку. У мене давно була інша проблема, пов’язана з ними. Однак, зберігаючи продукти категорії, лише перше 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.