# Mentési hibák és gyorsítótár

> Mi a teendő, ha az űrlap vagy a beállítások nem mentődnek, a naptár nem frissül a weboldalon, vagy CSRF-hibaüzenetet kapsz.

## Az űrlap vagy a beállítások nem mentődnek

Ha az űrlapszerkesztőben, az űrlap beállításaiban vagy a bővítmény **Beállítások** oldalán végzett módosítások nem mentődnek el, az ok nagy valószínűséggel a szerver beállításainak korlátja.

A beállítóoldalak füleket használnak, ezért az oldal összes mezője egyszerre töltődik be. Sok telepített kiegészítő és több bekapcsolt nyelv mellett a mezők száma nagyon megnő. A mentés gombra kattintva ez az adatmennyiség egyszerre megy a szerverre, és átlépheti a szerverbeállítások határait. Ilyenkor a szerver figyelmen kívül hagyja a küldött adatot, a módosítás pedig nem mentődik.

A megoldás a `php.ini` beállításfájl értékeinek emelése. A legtöbb tárhelyszolgáltató ezt a tárhely vezérlőpultján (közvetlenül, vagy cPanelen, DirectAdminon át) engedi. Ha nem, kérj segítséget a szolgáltatótól. Az alábbi értékeket érdemes megemelni:

- `memory_limit`
- `max_input_vars`
- `max_input_nesting_level`
- `post_max_size`

Másik megoldás, ha a beállítóoldalakon kikapcsolod a füleket: ilyenkor a fülek közti váltás újratölti az oldalt, és mindig csak az aktuális fül mezői töltődnek be. Ez egy kódrészlettel állítható a sablon `functions.php` fájljában (lásd: [Kódrészletek hozzáadása](https://hub.hellowp.io/hu/plugins/wp-booking-system-premium/fejlesztoknek-kodreszletek-hozzaadasa/)).

## A naptár nem frissül a weboldalon

Ha a weboldalon megjelenő naptár nem frissül, vagy más foglalásokat mutat, mint az admin felület, valószínűleg gyorsítótár-bővítményt használsz, és a naptár egy gyorsítótárazott változatát látod.

1. Ürítsd a gyorsítótárat, és nézd meg, megoldódik-e a gond.
2. Ha igen, zárd ki a gyorsítótárazásból azokat az oldalakat, amelyeken naptár van, hogy ne kelljen minden módosítás után kézzel üríteni.
3. Ehhez nyisd meg a gyorsítótár-bővítmény beállításait, és keresd meg az oldalak kizárására szolgáló lehetőséget. A legtöbb népszerű gyorsítótár-bővítménynek (WP Fastest Cache, WP Rocket, LiteSpeed Cache, W3 Total Cache) van ilyen beállítása.

## „CSRF (Number Used Once) validation failed.” hibaüzenet

A bővítmény a WordPress egyik biztonsági megoldását, az egyszer használatos kódot (angolul nonce) használja. A WordPress ezt a véletlenszerű kódot 48 óránként újragenerálja, és a foglalás adataival együtt elküldi a szervernek. A szerver ellenőrzi a kódot, és ha az nem érvényes, a fenti hibaüzenet jelenik meg. (A régebbi változatokban ez „Nonce validation failed” volt.)

Gyorsítótár-bővítménynél előfordulhat, hogy a kód is gyorsítótárba kerül, és a szerverre egy lejárt kód megy. Három megoldás van:

1. Zárd ki az oldalt, amelyen a naptár van, a gyorsítótárazásból (lásd az előző szakaszt).
2. Csökkentsd a gyorsítótár élettartamát 24 órára.
3. Kapcsold ki az ellenőrzést ezzel a kóddal a sablon `functions.php` fájljában:

```php
add_filter( 'wpbs_form_ajax_nonce', function () {
    return false;
} );
```

Ha vendégként találkozol ezzel az üzenettel foglalás közben, jelezd a weboldal üzemeltetőjének.
