Como ya te han dicho, el problema no es de PHP. Al intentar el usuario actualizar la página que sirvió para procesar un formulario usando un método POST (la página indicada en action del tag <form>), el
navegador intenta reenviar los datos del formulario paraobtener el mismo resultado en la página que se quiere reabrir. Eso es algo que no se puede evitar. La única solución, y que ya te han propuesto, es hacer una redirección usando header("Location: ...");, osea, procesar el form y redireccionar sin enviar ninguna salida al navegador. Esto hará que la página que procesa no sea tomada en cuenta en tu navegador.
Ahora, para manetener los datos puedes usar sesiones. Guardas en la página que procesa el formulario, y los tomas y borras la variable de sesión en la página a la que redirijes después.
saludos,