This is because if the user submits the form and goes to the thank you page, it refreshes this page, the browser asks the user to resubmit the form, thereby creating two messages for your data handler. If you redirect a thank you page using GET, post vars are empty, so the form will not be resubmitted.
I'm not sure that it is still considered good practice - this time I have not heard anything.
Adam hopkinson
source share