Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] wykonywanie akcji
Forum PHP.pl > Forum > PHP > Frameworki
zeta758
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:
  1. <?php
  2. dodaj('tomek','15');
  3. ?>


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
stanik_jr
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.:
  1. <?php
  2. function generujToken()
  3.  {
  4.  return md5(uniqid(rand()));
  5.  }
  6. ?>

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 biggrin.gif
zeta758
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 questionmark.gif zeby na nich post dzialal prawidlowo (nie wyswietlal sie alert)questionmark.gif czy jakies przekierowania robic? czy uzyc Ajaxa? jesl itak to w jakim kierunku? podpowie ktos ?
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.