I am writing a Wordpress plugin, which adds an admin menu page. In the page is a form. When the form is submitted, the plugin writes to the database. But then I encounter a problem: whenever the user reloads the page, he/she is asked whether to send the POSTDATA again. If the user clicks yes, the plugin writes to the database again.
After some searching, I found a solution, the "Post-Redirect-Get" pattern. Then, later, I found that it's hard to implement this pattern into a Wordpress plugin.
The plugin itself cannot send an HTTP 301/302 because there are some contents already outputted by the Wordpress core.
It is possible to insert a meta tag (in order to issue a redirect) in the HTML head. But according to W3C, meta redirect is deprecated, so I think it's better not to use it.
Use JavaScript's
window.location
. But what if JavaScript is disabled in the user's browser?
Is there any other way to achieve redirection?