![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 24.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
interesuje mnie rozwiązanie, z którego korzystają fora takie jak phpbb; kliknięcie wstecz bądź F5 nie powoduje nowego wpisu do bazy a nawet nie pokazuje komunikatu o ponownym przesłaniu danych. proszę o pomoc, bo siedzę już dosyć długo nad tym...;/ PS nie chcę gotowca tylko pomysłu jak zrobić ewentualnie jakieś polecenia, które się przydadzą. Ten post edytował erix 24.06.2009, 18:18:05
Powód edycji: [erix] co to ma do programowania obiektowego?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 26 Dołączył: 2.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jedno z możliwych rozwiązań: Do formularza dokładasz ukryte pole z wygenerowanym losowym identyfikatorem. Równocześnie ustawiasz go w sesji. W skrypcie obsługującym formularz sprawdzasz, czy identyfikator przesłany POSTem razem z treścią wiadomości zgadza się z tym w sesji. Jeśli tak, dodajesz/edytujesz rekord w bazie, co tam chcesz - równocześnie czyszcząc wpis w sesji. Następna próba obsłużenia tego samego formularza już się nie powiedzie, bo zmienne sesyjna będzie pusta.
Ten post edytował singles 24.06.2009, 18:30:05 |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Jestem pewien, że ten temat już się przewijał na forum, ale dzisiaj pokłóciłem się z wyszukiwarką.
Robisz to tak: 1. form.html - tutaj masz formularz, który wysyłasz na handle.php. 2. handle.php - obsługa formularza, zapisanie danych, itd 3. Po obsłużeniu danych używasz funkcji header do przekierowania na stronę z podziękowaniami/formularzem/dowolną inną stronę. Zabawa z sesjami, ciastkami, unikatowymi identyfikatorami to tylko zbędna zabawa, przez którą bardziej się narobisz. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://forum.php.pl/index.php?showtopic=44...t=0&start=0
i tyle w temacie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:26 |