Przeladowanie strony i zmienne POST

0

Nie wiem czy byl taki post (szukalem pod przeladowanie - nie za bardzo wiem jak sie wyslowic ) jesli tak to prosilbym o jego wskazanie lub pod czy

chodzi o to

mam formularz w pliku cos.php w ktorym dodaje pole do mysql po klikniecu guzika dalej.

jednak jesli potem odswieze okno przegladarki to dodanie tego samego elementu wykona sie drugi raz (mimo tego, ze fromularz jest juz wyczyszczony)

Pytanie jak temu zapobiec ? nie dodajac kolejnych podstron.
(czyli nie jak np tu http://www.webmasterworld.com/forum88/6982.htm)

bez dodawania kolejnych plikow (no ewentualnie sesja o ktorej myslalem od samego poczatku jednak zastanawiam sie czy jest inne wyjscie).

0

Fakt, było - ale nie będę szukał...
Przekierowanie na tę samą stronę po zakończeniu działania skryptu - wtedy nie będzie danych post.

Ktoś kiedyś pisał też o wyczyszczeniu tablicy post.

0

No wlasnie, czysczenie tablic post bylo by bardziej interesujace dla mnie ? (unset ? nie za bardzo ?)

0

Czyszczenie tablic, np: $_POST = array() nic nie daje. Bo to przegladarka ma ostatnia operacje w cache. Tak wiec, zeby nie bylo takiego problemu, ktory popularnie nazywa sie antyflooding mozna albo przekierowac po udanej operacji na inna strone (header z Location), albo ustawic odpowiedni cookie z informacja.

0

To ja wiem ze można przekierować na inna stronę, jednak chodziło mi o pozostawienie danych (powiadomienie o źle wypełnionym formularzu)

Po prostu spodziewałem się, że jest jakieś proste rozwiązanie.

To, które zastosowałem to sesje, do których (jeśli jest ustawione coś w $_POST) kopiuje do sesji. Razem to wszystko wpakowałem do klasy i nazywam jako zmienną $POST. A tej używam podobnie jak $_POST, przy czym klasa sprawdza czy jest czy nie ma sesji i podaje zmienne z odpowiedniego pola.

PS.
Bezpośrednie przypisanie
$_POST = array();
u mnie powoduje wygenerowanie błędu (tak jakbym używał header() po wypisaniu czegoś)
a jeśli nic nie wypisuje pojawia się biała strona !

1 użytkowników online, w tym zalogowanych: 0, gości: 1