Autor Zpráva
strygo
Profil *
Zdravim

Mam spravenu pomocou PHP a MYSQL knihu navstev a mam uplne typicky problem, to jest po refreshi sa mi ukladaju data znovu do databazi. Snazil som sa to osetrit cachovanim teda dal som header(cache-control: no cache, must revalidate) taktiez pragma no cache....v IE mi skript funguje tak ze ked stlacim po pridani refresh prehliadac sa ma spyta ci chcem ulozit tie iste data, Opera to uplne ignoruje.....Ako to spravne osetrit??
djlj
Profil
Po uložení vzkazu přesměruj pomocí header zpět na stránku s návštěvní knihou.
Nebo nastav některé hodnoty v databázi jako unikátní.
Pavel Strejček
Profil
přidej tam hlavičku přesměrování 303 na tu samou stránku, prohlížeče si nebudou stránku ukládat do historie

header("Location: $uri", true, 303);
header("Connection: close");
exit;

buď to tam dej po provedení skriptu (před odesláním výstupu prohlížeči)
nebo ulož někam $_POST/$_GET a zpracuj ho až na přesměrované stránce
strygo
Profil *
to unique bezi diky moc djlj....

....s tym presmerovanim to neviem aplikovat kedze mam formular aj odkazy na jednej stranke....ale chcel by som to tak vyriesit takze mi skuste prosim vas opisat ako to spravne osetrit, lebo header nemozem mat nikde inde iba na zaciatku.
Pavel Strejček
Profil
zkusím to popsat krok za krokem:

1. uživatel odešle formulář

2. cílová stránka uloží data do DB a odešle výše uvedené hlavičky pro přesměrování

3. po přesměrování se zobrazí cílová stránka znovu, tentokrát bez požadavku POST. Při stisku tlačítka Zpět nebo při refreši je už stránka z bodu 2 ignorována.
strygo
Profil *
Ide mi to, Diky moc.....problem bol v tom ze som nevedel ako pouzit spravne funkciu header na tej presmerovavacej stranke, teda header na zaciatok a exit na koniec skriptu.
Toto téma je uzamčeno. Odpověď nelze zaslat.