Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zabezpieczanie przed odświeżaniem po wysłaniu formualrza
Forum PHP.pl > Forum > Przedszkole
Haczyk67
Jak moge zrobić zabezpiecznie przed duplikacją tych samych postów na forum poprzez odświeżanie? Posty dodaje sie przez formualrz, dane pobbieram z _POST
emtiej
sesje + sprawdzanie, czy dane wprowadzane z danej sesji są takie same, jeżeli tak wyświetl błąd, jeżeli się różnią wprowadź dane. Ewentualnie przekierowanie header()
Haczyk67
Jeśli chodzi o header, to chodzi ci o wykonanie header po przyjęciu danych _POST?
emtiej
np. jak dane zostaną odebrane metodą POST lub GET zapisujesz je do bazy danych, a zaraz po tym piszesz

  1. header("Location: plik.php");


To nie pozwoli na dodawanie masowej ilości wpisów do bazy poprzez odświeżanie, lepszym sposobem byłaby kontrola sesją, no ale to już twój wybór.
Haczyk67
Jak dokładnie miałoby to wyglądać (to z sesją)?
thek
Ja robię ciut inny myk smile.gif Jeśli ktoś dodał post, to znaczy przecież, że znam już id winksmiley.jpg Dlatego w formularzu podczas pisania nowego, ale który przeszedł walidację podmieniam sygnaturę nowych postów (brak id) z id właśnie dodanego. Jakakolwiek więc ingerencja w treść lub przesłane ponownie dane staje się nie dodaniem, ale edycją. Rozwiązanie lepsze niż zabezpieczanie, gdyż pozwala userowi na edycję własnie dodanego posta, jeśli zauważył byka. Widać to już zresztą poprzez buttony. Podmieniam stylizowanego inputa wtedy i napis nie jest już "Dodaj" ale "Edytuj".
Haczyk67
Prosiłbym jeszcze o to rozwiązanie z sesją.
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.