![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 0 Dołączył: 18.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problem, już nie tylko w ZF ale i wczesniej też się pojawiał. Chciałbym zapytać czy może jest to w jakiś dobry sposób rozwiązane w ZF.
Mianowicie akcja:
www.adres.com/user/dodaj/imie/tomek/lat/15/ ok, akcja wykonana, rekord do bazy dodany. 1. Jesli odświeżę stronę to akcja zostanie ponownie wykonana. Czy można w jakiś sprytny sposób zrobić żeby po naciśnięciu F5 nie dodawał jeszcze raz do bazy (przy założeniu ze nie musze recznie pisac zapytania kolejnego do bazy czy juz taka osoba jest w bazie?) 2. Podobne pytanie jesli dane przychodzą z formularza metodą POST. dane zostaja dodane do bazy. A po naciśnięciu WSTECZ wyskakuje ALERT (jak to zawsze dla metody POST). Jak zrobic zeby po wcisnieciu WSTECZ nie bylo tego problemu i swobodnie wracal a jak ktos kliknie DALEJ to zeby nie dodawał kolejny raz tego samego do bazy tylko: albo info ze dodano do bazy(z poprzedniego dodania) albo ze juz jest taki wpis w bazie. Wydaje mi sie ze to znakomicie się przyda innym użytkownikom dzieki za info |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 30.03.2005 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
1. nie dodaj() a dodajAction() jeżeli chodzi o ZF
2. parametrów nie przekazuj do akcji a odbierz je w środku 3. wraz z wysłaniem formularza postem wysyłaj z pola hidden losowo wygenerowana dużą liczbę np.:
w momencie odebrania danych takiego tokena wrzuć do sesji, za każdym razem sprawdzaj czy token z sesji nie jest równy wygenerowanemu jak tak to nie dodajesz do bazy... jak byś tego nie zrobił, napisać kod trzeba ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 0 Dołączył: 18.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
rozumiem ze piszac o tokenach pisales o tym zeby przy metodzie get przy odswiezeniu nie dublowal wpisów, tak?
no a jak z tymi klawiszami przegladarki WSTECZ - DALEJ ![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 08:27 |