ugrás a tartalomhoz

Frisítési gondok

Vadember · 2004. Dec. 22. (Sze), 12.42
Hali!A problémám a következő lenne:

Van egy űrlap ahova adatokat beírva, majd a submit gombra kattintva egy adatbázisba tárolom el.Ezután az adatbeviteli mezők kiürülnek.A gond az, hogy ha közvetlen ezután valaki rákattint a böngésző frissítés gombjára, akkor ismét felveszi ugyanazokat az adatokat.Tudtok erre valami megoldást?
 
1

Irányítsd át

Poetro · 2004. Dec. 22. (Sze), 13.50
A legjobb megoldás ilyen esetekben először is átírányítani a formot egy másik PHPra amely a feldolgozást végzi
<form method="post" action="feldolgoz.php">
, majd a feldolgozó php iránítsa át megint a böngészőt valami másik oldalra, vagy akár az eredeti oldalra

header('Location: masik.php');
return;
--------
Poetro
2

kösz, megpróbálom

Vadember · 2004. Dec. 22. (Sze), 14.30
kösz, megpróbálom
4

Az átirányítás valóban j

Vadember · 2004. Dec. 25. (Szo), 11.13
Az átirányítás valóban jó.
3

Redirect, tempid

Dualon · 2004. Dec. 22. (Sze), 15.59
Az átirányítás valóban a legjobb megoldás, de ha valamiért azt nem akarod használni, akkor másik lehetőség, hogy valami időleges azonosítót rendelsz a formhoz (pl. sessionben és űrlapban), és mikor beviszed pl. adatbázisba az adatokat, előtte megnézed, hogy van-e már az űrlapból származónak megfelelő tempid sessionben. Természetesen ha az űrlapot "tisztán", újonnan kérik le, akkor a session változót törölni kell/felül kell írni.
Tehát: adott egy formból származó tempid, és ha van avval egyenlő tempid sessionben, akkor már nem először küldik el ugyanazokkal az adatokkal az űrlapot.
E második megoldás viszont tényleg csak olyan esetekben éri meg, ahol semmiképp nem akarsz redirect-et.