Autor Zpráva
Noky
Profil *
Vytvoril som si diskusiu(PHP a SQL) a ak pridam novy prispevok a potom stlacim F5, prispevok sa mi prida este raz a ja by som chcel aby sa len znovu nacitala cela diskusia. NEviete niekto ako to vyriesim?
Diky moc
Dero
Profil
Pravděpodobně příspěvek předáváš jako POST data. Takže by IMHO mělo stačit po zápisu do db prosté

unset($_POST)
Noky
Profil *
Tak unset nepomohol. Stale mi to po refresh vlozi znova.
Kajman
Profil *
Po vložení zkus zavolat tohle:


header("Location: ".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']);
exit;
Hugo
Profil
Noky

Odkazuj formular na externi skript, ktery zpracuje data a z toho presmeruj vystup zpet. Pak nebude problem s refreshem.
kudlanka
Profil *
Mám problém, který navazuje na tento:

Mám na stránce 2 formuláře první obsahuje hidden údaje z předchozích kroků a formulářový select, kde je možno vybrat číselníkový údaj. Ve druhém formuláři je input pole, které umožňuje přidat novou hodnotu do číselníku jehož obsah se zobrazuje v selectu prvního formuláře.

Vložení nového záznamu z druhého formuláře se provádí přes externí skript (právě kvůli dříve uvedenému problému) a zde je problém - potřebuji zachovat celý kontext, který ale může přesáhnout 256 znaků. Není možné použít přesměrování přes header location, protože se nevejdu.

Napadají mě následující řešení:
1. cookies - nemám s nimi moc zkušeností a jejich správa se mi zdá složitá, při opakujících se operacích múže dojít k záměně dat
2. databáze - ukládat si data průběžně do databáze, ale to má dost velkou režii
3. uložit si to na filesystem - otevírání a zavírání souboru taky něco stojí

žádné z řešení se mi nezdá moc elegantní a každé má své pro a proti.

Existuje ještě nějaké jiné řešení? Jak to řešit jinak? Co byste doporučili?
ash
Profil
Použi sessions, to bude asi najjednoduchsie.
Toto téma je uzamčeno. Odpověď nelze zaslat.