Мне очень нравится ответ @ Angelin. Но если вы имеете дело с каким-то унаследованным кодом, где это нецелесообразно, этот метод может сработать для вас.
В верхней части файла
// Protect against resubmits
if (empty($_POST)) {
$_POST['last_pos_sub'] = time();
} else {
if (isset($_POST['last_pos_sub'])){
if ($_POST['last_pos_sub'] == $_SESSION['curr_pos_sub']) {
redirect back to the file so POST data is not preserved
}
$_SESSION['curr_pos_sub'] = $_POST['last_pos_sub'];
}
}
Затем в конце формы, придерживайтесь last_pos_sub
следующим образом:
<input type="hidden" name="last_pos_sub" value=<?php echo $_POST['last_pos_sub']; ?>>