[php] jak zablokowac odswiezanie lub BACK

0

patrzcie mam np strone gdzie sie podaje kod z obrazka i teraz wypelniam formularz przepisuje kod i wysylam jesli jest OK pisze ze ok. ale jak wcisne F5 (odswiez), to pyta czy wyslac ponownie zapytanie POST to jak klikne tak to wysyla ponownie uzywa tego samego kodu.

to znaczy ze np jak losuje kod zapisuje go do bazy, to po wpisaniu z formularza danych musze usunac kod i wtedy jak wcisnie sie ponownie F5 to bedzie wtedy blad tak?

0

było ostatnio coś na ten temat: http://4programmers.net/Forum/viewtopic.php?id=81895 ;)

0

Nie bedzie ci to dobrze dizalac chyba ze jakos inaczej kod napisałes!

0

tamto bylo rozwiazanie zupelnie do czegos innego, wiec nie sugeruj sie temtym linkiem ;P
Najlatwiej zrobic to tak:

  1. wysylasz formularz z form.php do spr.php
  2. w spr.php masz zamieszczone:
blablabla
 if ($kod_z_formularza!=$kod_z_obrazka)
  {
  header("Location: blad_kodu.php");
  exit;
  }

Oczywiscie musisz uwazac zeby przed wyslaniem naglowka nie wyslac zadnych informacji do przegladarki
3) na stronie blad_kodu.php zamieszczasz info ze wpisany kod jest nieprawidlowy i jesli chcesz wprowadzic ponownie daje przejdz do formularza, albo nacisnij wstecz [!!!]

Takie rozwiazanie spowoduje ze przegladarka "zapomni" ze wyslala formularz do spr.php i jak zrobisz wstecz, przerzuci Cie na nowo do formularza

Mozesz oczywiscie to zrobic w jednym pliku z odpowiednimi if'ami, ale latwiej idee przedstawic na 3 osobnych :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1