Autor Zpráva
joseff0
Profil *
Ahoj.
Mám stránku aaa.htm, ktorá cez form (POST) volá stránku bbb.php a posiela jej hidden premennú $_POST['aaa']=1.
V stránke bbb.php otestujem, či je $_POST['aaa'] nastavená na 1, ak áno, urobím zapis do DB a unset($_POST['aaa'])
a zobrazím HTML kód stránky bbb.php.
Ak nie je nastavená(napr. prídem na bbb.php z inej stránky), nezapisujem do DB, iba zobrazím HTML kód stránky bbb.php.
A ak dám F5 (refresh) stránky bbb.php, zase mi spraví zápis do databázy, pritom tu premennú som už unsetol. :(
Dá sa nejako spraviť, aby pri refreši stránok bol tá premenná $_POST['aaa'] nenastavená/zneplatnená?
(teda aby mi po príchode zo stránky aaa.htm na stránku bbb.php spravilo zápis do DB iba raz, a stlačením F5 iba refrešlo obsah stránky)

Ďakujem j.
Petr Tichý
Profil
Při refreshi se provede znovu "přijetí" POST informací, takže se znovu nastaví ta proměnná na jedničku.

Řešení je určitě více, ale zkus zauvažovat třeba nad přesměrováním fcí header("location: ccc.php"); na další stránku.

Další přispívající ti zřejmě poradí další způsoby.
Jan Tvrdík
Profil
Problém je, že po f5 jsou data poslána znova.

Jedno z řešení je poslat data skriptu ccc.php. Ten, pokud mu dorazí potřebné informace provede požadovanou operaci a přesměruje na bbb.php, jestli nedorazí, přesměruje na aaa.php (nebo jinam)

EDIT: hm, to jsem toho moc nového neporadil
joseff0
Profil *
OK, SUPER, tak to ide. (cez ten header)
Ďakujem ;)

j.
Petr Tichý
Profil
Není zač :o)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0