This is a normal behaviour, but you can add, at the end of your treatment, a redirection to the same page without POST:
<?php
// set to true to display a waiting message "Thanks you, you will be redirected in 5 sec."
$wait_before_refresh = false;
if (isset($_POST['myButton']))
{
// process to your checks, do whatever you want
// ...
if ($wait_before_refresh)
{
$html_redirect = <<<HTML_REDIR
<!DOCTYPE html>
<html><head><title>Thanks you !</title>
<meta http-equiv="refresh" content="5;URL='/'" />
</head>
<body>Thanks you, you will be redirected in 5 sec.</body></html>
HTML_REDIR;
echo $html_redirect;
}
else
{
header('Location : /');
exit;
}
}
?>
<form method="POST" action="/"><input type="submit" name="myButton" value="clicked" /></form>