[PHP] Lze smazat obsah proměnné POST?
Nazdar, řeším problém jak vymazat proměnou $_POST při aktualizaci. Mam takovej jednoduchej chat, uživatel něco napíše, formulářem odešle (stejnýmu souboru), ok všechno je jak má, ale pak zmáčkne F5, stránka se obnoví a vzkaz se odešle ještě jednou :-(. Potřeboval bych teda nějak uvolnit proměnou $_POST. Zkoušel jsem unset a null (jako u sessions) ale to nejde. Ještě mě napadlo, že by to mohlo bejt u klienta a zkoušel jsem po načtení stránky resetovat formulář, to taky nepomohlo. Zkoušel jsem googlit,našel jsem nějaký příklady, ale ty byly s unset, což u mě nejde.
Nevíte někdo jak na to?
Zatim udělam, že se to bude ukládat v jinym souboru, kterej hned přesměruje zpět, to by mohlo fungovat.
Dík
Re: [PHP] Lze smazat obsah proměnné POST?
mozna pujde smazat takto:
$_POST = array();
Re: [PHP] Lze smazat obsah proměnné POST?
Ten POST request po F5 posiela browser pouzivatela, s tym nic nespravis.
Re: [PHP] Lze smazat obsah proměnné POST?
Sem měl podezření, že to asi nepude...
Stejně je to divný, že když odešleš, tak tě to hodí na "jinou" stránku a mělo by to bejt resetovaný ??? No nic, to přesměrování funguje jak má, ale přijde mi zbytečný vytvářet na to novej skript...
Re: [PHP] Lze smazat obsah proměnné POST?
Tak se na to podivej z pohledu browseru. Na tu stranku se dostal tim, ze na url poslal nejaky data (POSTem) A pokud chce uzivatel obnovit -asi chce, kdyz macka f5-, tak je proste musi poslat znovu.
Navic je tu predpoklad, ze uzivatel vi co dela (kez by to platilo), a taky proto se kdejakej browser pta, jestli opravdu chces ty data poslat znovu. Cili je to normalni, a ty ses ten, kdo se s tim ma poprat ;)
Re: [PHP] Lze smazat obsah proměnné POST?
Tak ještě jsem zkoušel machinace s hlavičkama a nic podstanýho jsem neobjevil...
Necham to tim "odskokem" na uložení, dík
Re: [PHP] Lze smazat obsah proměnné POST?
ja to delam tak, ze pri vkladani do db kontroluji prispevky... jestli je tam identicky prespevok za poslednych 24hod jenom s rozdilnym casem, tak so to proste neulozi...
Re: [PHP] Lze smazat obsah proměnné POST?
To by šlo, kdyby půlka přípěvků nebyla: :-)
;-)
Re: [PHP] Lze smazat obsah proměnné POST?
Samozrejme smazani $_POST nijak nepomuze, protoze, jak bylo receno, prohlizec pri obnoveni stranky vzdy odesila formular znovu. Dle meho idealni reseni (aspon ja to tak delam) je vzdy po zpracovani formulare presmerovat uzivatele na vysledek (vetsinou zpet skript sam na sebe - tim obnovim stranku sam a uzivatel pak refreshuje pouze tenhle vysledek).
pomoci header("Location: ...");
Re: [PHP] Lze smazat obsah proměnné POST?
jenom doplnim, kdyby nekdo potreboval, tak vymazat post jde
$_POST = NULL;
Re: [PHP] Lze smazat obsah proměnné POST?
To foltyn: No tim ji sice vymazes, ale nedosahnes toho efektu, aby pri F5 nebyla znovu vytvorena ;) Cetl jsi vyse zobrazene prispevky?
To ALL: Napadlo mne pamatovat si navic cas vytvoreni formulare (cas kdy se zacal psat prispevek) a pokud se tyto hodnoty budou rovnat, pak jde o stejne prispevky. Pozor, ale na uzivatele pouzivajici tlacitko zpet. To plati i pro pripad Location :(
Re: [PHP] Lze smazat obsah proměnné POST?
Citace:
Původně odeslal Camillek
To foltyn: No tim ji sice vymazes, ale nedosahnes toho efektu, aby pri F5 nebyla znovu vytvorena ;) Cetl jsi vyse zobrazene prispevky?
cetl a ten problem resi prispevek nade mnou, tak sem akorat doplnil odpoved na otazku z nadpisu
jinak to taky jde resit nahodnym cislem v session pri zobrazeni stranky, kam se pise, a pak to zkontrolovat s hodnotou v postu, pri refresi by ty cisla mely byt jiny
Re: [PHP] Lze smazat obsah proměnné POST?
Kód:
<?php
header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
session_cache_limiter("must-revalidate");
?>
Re: [PHP] Lze smazat obsah proměnné POST?
Řekl bych, že Rainbow má pravdu, že je to záležitost browseru a že já jsem špatně napsal nadpis ;-)
Takže POST smazat jde, ale browser mi ho pošle znova...