Cuando procesas un formulario se reciben todos los campos, incluyendo botones y, cuando recargas la página, todo se vuelve a enviar, por lo que la opción del botón no es efectiva.
Lo que puedes hacer es redireccionar a otra página, ya sea usando header() con estatus 301 (movido permanente) o con una etiqueta meta refresh.
Después de guardar la información correctamente:
Código PHP:
Ver original// Ejemplo con header()
header("HTTP/1.1 301 Moved Permanently"); header("Location: otra-pagina.php");
// Ejemplo con meta refresh
<html>
<head>
<meta http-equiv="refresh" content="5;URL='otra-pagina.php'">
</head>
<body>
<p>Tus datos fueron guardados correctamente, en breve serás redirigido a la siguiente página.</p>
</body>
</html>
Con header, la redirección es inmediata, mientras que con meta refresh se muestra el mensaje y después del tiempo especificado (5 segundos en este ejemplo) hará la redirección; en ambos casos "la página intermedia" (donde procesaste el formulario) no queda en el historial del navegador, con lo que evitarás que se dupliquen los datos.