Reklama.
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:
starrif(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 }
opublikowane 27-03-2010168282 powrót
© aleproste.pl v.10 Projekt i realizacja projekt.etvn.pl & aleproste.pl