It will, but your session variable 'token' will have changed...
if ($_POST['token'] != $_SESSION['token'])
{
# page reload or some such
}
else
{
# handle post
}
But, do note that by using a post token, if have one page open with a form on it and then opens a new tab, which I commonly do using ctrl-click / command-click, and the scond page also contains a form, then I will no longer be able to use the form on the first page. Moreover, I will not know this until I filled out the form and hit submit.
So you may want to extend this idea using one token per form, rather than one token for the entire site.
Also note that the location header takes a full absolute url, not a relative one. I.e. it always starts with protocol, followed by domain: http://example.com/index.php.