Wieviór
20.03.2008, 19:08:48
Czy jest jakiś sposób, żeby po użyciu (czyli de facto na końcu strony tak na prawdę) wyczyścić zawartość POST?
Użytkownik u mnie dodaje komentarz, przed wyświetleniem strony jest instrukcja, która sprawdza czy istnieje $_POST['komentarz'] (hidden input w formularzu dodawania), jeśli tak, to dodaje komentarz do bazy danych, potem dopiero one są wyświetlane.
Teraz jak sobie człowiek odświeży to najpierw dostanie pytanie czy odświeżyć bo jest POST, a jak kliknie "Tak", to komentarz doda się dwa razy taki sam...
Chciałbym całkowicie wyczyszczać $_POST...
EDIT (po poście nospora): Sorry szefie...
vtuner
20.03.2008, 19:18:51
spróbuj na końcu dać:
<?php
unset($_POST); // cała tablica unset($_POST['formularz']); //pojedyncza wartość ?>
Xniver
20.03.2008, 19:19:07
Hmm, to może po dodaniu komentarza do bazy użyj:(nie zapomnij zmienić linku w headerze). Musisz to umieścić przed wyświetleniem zawartości
<?php
header('Location: komentarze.php?tutajresztaurla'); ?>
Wieviór
20.03.2008, 19:27:03
Cytat(Xniver @ 20.03.2008, 21:19:07 )

A header() nie przeładowuje? Bo wygląda jakby nie przeładowywał, a działa dobrze ;]
zzeus
20.03.2008, 19:27:57
Swego czasu też szukałem rozwiązania tego problemu, i ostatecznie skorzystałem z Header("Location: ")
Xniver
20.03.2008, 19:32:40
Cytat(Wieviór @ 20.03.2008, 19:27:03 )

A header() nie przeładowuje? Bo wygląda jakby nie przeładowywał, a działa dobrze ;]
header() wysyła nagłówek HTTP do przeglądarki użytkownika(Location przekierowuje). Dla użytkownika prawie nie widoczne, jedynie przekierowanie Refresh w META tagach byłoby widoczne dla usera.
nospor
20.03.2008, 19:35:32
Ile razy mozna o tym samym gadac?
korzystajcie troche z szukajki i czytajcie przyklejone tematy!http://forum.php.pl/index.php?showtopic=44...t=0&start=0