X

Aleproste na FaceBook'u

Reklama.

[PHP] Zabezpieczenie przed ponownym wysłaniem formularza :: po odświeżeniu strony w oknie przeglądarki

Zabezpieczenie formularzy przed ponownym przesłaniem danych w wyniku przeładowania (odświeżenia strony) to ważna kwestia, bo może spowodować w najprostszym przypadku np. wielokrotne wysłanie tego samego e-maila, albo wielokrotne zapisanie do bazy tych samych danych. Aby tego uniknąć można zastosować ten prosty kod.

W ciele formularza dodajemy token w postatci:

<form ... >
 <input type='hidden' name='send' value='md5(time())' />
 ...
</form>

Teraz odbierając dane z pól formularza, dokonujemy następującego sprawdzenia:

if(isset($_POST['send']) && $_SESSION['sended'] == $_POST['send'])
{
 $fx .= '<p>te dane były już wysłane!</p>';
}
else
{
 $_SESSION['sended'] = $_POST['send']; //-zapisanie tokena dla formularza

 //-dalszy kod obsługujący dane formularza
 
}
starr

opublikowane 27-03-2010165500 powrót

© aleproste.pl v.10 Projekt i realizacja projekt.etvn.pl & aleproste.pl