Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak usunąć zmienna superglobalna typu POST ?
Forum PHP.pl > Forum > PHP
swmikolaj21
Witam!

Chcialbym po zapisaniu do bazy danych usunac zmienna post z formularza, tak by np po odswiezeniu strony nie mozna bylo mozna bylo jeszcze raz zapisac tych samych danych...

unset na koncu nie pomaga bo jeszcze raz pobiera , usunac z tempa-ale jak??

Szukalem troche ale nie znalazlem odpowiedzi.....

Pozdrawiam i czekam na jakies wskazowki

Maciek
nospor
Sęk w tym, że odświerzenie powoduje powtórne wyslanie formularza. Usuwanie zmiennej tu nic nie da, gdyż jest ona na nowo wysyłana (tworzona). Musisz porobić jakieś zabezpieczenia, przed powtórnym wysyłaniem formularza
swmikolaj21
hmmm... no tak...ale jak?? sad.gif
crash
Na upartego możesz przeładować stronę, za pomocą header" title="Zobacz w manualu PHP" target="_manual[b](Location: '.$_SERVER['PHP_SELF']);[b]
swmikolaj21
a to przeładowanie spowoduje ze.... questionmark.gif? no bo na chlopski rozum to jeszcze raz pobierze z formularza....
revyag
Można odświeżyć stronę po stronie usera przy pomocy javascript. Wtedy dane nie zostanę ponownie wysłane.
Kod
<script type="text/javascript">window.location=document.URL;</script>
vala
a jak ktos ma wylaczone js to nie za bardzo to zadziala:)
revyag
Może inaczej skonstruuj wysyłanie formularza, zrób to bardzo user-friendly. Po naciśnięciu submita pokaże się komunikat że dane zostały wysłane i link do strony z formularzem. Trzeba liczyć na to że użytkownik postąpi w normalny sposób i kliknie link, a nie będzie odświeżał stronę.
Jeśli to nie wystarcza to trzeba usera przekierować na inną stronę i tyle.
Zajec
Zrób dodatkowe pole input type="hidden" z value=<php echo time();?>

Potem sprawdzasz czy istnieje wpis w bazie z
time = $_POST['time']
i
tresc = $_POST['tresc'] (przykładowo)

Jeżeli nie istnieje to dodajesz.
kszychu
Przekierowuj za pomocą header("Location: ......."). Cofanie tego nie powoduje ponownego wysyłania formularza.
NoiseMc
Też uważam, że powinieneś przekierować stronę za pomocą header ( 'Location:....' ).

Ewentualnie możesz wyświetlić komunikat, że dane zostały zapisane i za chwile nastąpi przekierowanie, takie rozwiązanie zastosowane jest np w forum phpBB lub XOOPS CMS.
swmikolaj21
Oki ! Dzieki!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.