» Poradna » Web a internet

PHP refresh

 |   |  Microsoft Windows 8 Firefox 26.0

Dobrý večer,řeším problém s php scriptem. Ukládám data do databáze a když dám refresh stránky tak se mi uloží znova. Jak by se dal ošetřit tendle problém, aby se data znova neukládali ?

Mohlo by vás také zajímat

Odpovědi na otázku

 | Microsoft Windows 7 Chrome 31.0.1650.63

Ukládat pouze u POSTu a pak provést Redirect.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Firefox 26.0

Posílám práve přes POST...jak pouziju ten redirect ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 31.0.1650.63
 |   |  Microsoft Windows 8 Firefox 26.0

Dost pochybuju o tom že to bude fungovat. Když přesměruju po odeslání formuláře s daty metodou post na tu samou stránku kde se mi ta data i zobrazí tak se to ty data zase nacpou dodatabáze ne ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Linux Chrome 31.0.1650.63

Jistě, že se tak stane ... Řešení je předávat nějaký token, tedy vygenerovaný hash čísel, který by šlo použít jen jednou... ten si třeba ukládat do databáze, nebo použít session, či cookies (které uživatel tedy může ovlivnit) ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Firefox 26.0

Takže kdybych si v nějakym skrytým inputu generoval nejaký to číslo dejme tomu a ukládal si ho do sessionu a pak ho vždycky porovnal a jestli se čísla schodují tak bych zakázal uložení dat znova ? šlo by to tak ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 8.1 Firefox 26.0

A já myslím, že ne.Prostě pošleš data z aaa.php na bbb.php, bbb.php ty data zpracuje a přesměruje stránku na aaa.php (třeba i s daty). Pokud pak refrešneš aaa.php tak se nic zpracovávat nebude.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Opera 9.80

proto se musi presmerovat na GET, je to i navrhovej vzor POST-redirect-GET, pak se ty data znovu samozrejme neulozi :)viz: http://en.wikipedia.org/wiki/Post/Redirect/Get

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Firefox 26.0

Přečtu si to, díky ;)

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Refresh