Evitar el envío de formularios dobles utilizando tokens

Estoy tratando de evitar que el usuario envíe el foro al agregar el campo oculto del token.

Así que esto es lo que he hecho hasta ahora (antes de que se cargue el foro, tengo este código para crear un token con la hora actual como valor).

$token = time();
setcookie('formToken', $token, time() + 3600);

En mi foro tengo una entrada oculta como esta

<form method="post" action="'.$PHP_SELF.'?action=update">
<input type="hidden" name="token" value="'.$token.'" />
<input type="submit" value="go" />
</form>

ahora en la parte superior de mi página donde $ acción == "actualizar" Tengo este código

if(isset($_POST)  &&  ($_POST['token'] != $_COOKIE['formToken'])){
    $error_list .= '<li>You can not submit this forum twise.</li>';
} 

Si presiono F5 para actualizar la página, enviaré el formulario nuevamente sin mostrar mi error.

Respuestas a la pregunta(6)

Su respuesta a la pregunta