Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]$_GET - podwójne wykonanie kodu po Refresh&Back, $_GET - podwójne wykonanie kodu po Refresh&Back
--George--
post
Post #1





Goście







Witam,
Jestem tu nowy, więc z racji tego "Pozdrawiam wszytkich Polaków!".

Mam zagwozdkę w zabezpieczeniu kodu przed podwójnym wykonaniem, wynikającym z akcji Odświeżania strony bądź Cofania do strony poprzedniej.
Kilka zdarzeń dla przykładu:
1) klikam dodaj przedmiot do koszyka - odnośnik <a href> z odpowiednimi parametrami $_GET, powoduje dodanie przedmiotu do koszyka, ale odświeżenie strony (Refresh), bądź cofnięcie do poprzedniej (Back), powoduje ponowne dodanie do koszyka,
2) Realizacja zamówienia - Submit w formularzu <form>, powoduje dodanie wpisu do bazy i wysyłka e-maila, ale odświeżenie strony (Refresh), bądź cofnięcie do poprzedniej (Back), powoduje ponowne dodanie wpisu do bazy i wysłanie drugiego e-maila.

Próbowałem coś znaleźć w necie i wiem, że jest to powszechny problem u nowicjuszy.
Jako rozwiązanie 1 błędu ludzie podają zastosowanie przekierowania header (Location), z tym, że u mnie nie ma to zastosowania, bo poniższy kod wykonywany jest w zawartości strony, za kodem html i wyskakuje mi komunikat "Headers already sent", z racji tego, że header można umieścić tylko przed kodem html.
Jako rozwiązanie 2 błędu podają wstawienie ukrytego pola w formularzu, zawierającego wartość losową, która jest też zapisywana do sesji, po wykonaniu kodu sesja jest czyszczona. Na początku kodu umieszcza się porównanie wartości z pola ukrytego i z sesji. Jeśli się zgadzają, to jedziemy, jesli nie to stop.

Mam pytanie - w jaki sposób można rozwiązać problem 1? Czy jest może jakieś uniwersalne rozwiązanie dla obu przypadków, ale inne niż blokada Refresh&Back, które wydaje się bezsensowne, bo ogranicza funkcjonalność.

Z góry dzięki za jakąkolwiek pomoc,
Pozdrawiam.

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 05:01