8.4.1. ProblemYou want to automatically send a user to a new URL. For example, after successfully saving form data, you want to redirect a user to a page that confirms that the data has been saved. 8.4.2. SolutionBefore any output is printed, use header( ) to send a Location header with the new URL, and then call exit( ) so that nothing else is printed. Example 8-8 shows how to do this. Redirecting to a different location
8.4.3. DiscussionIf you want to pass variables to the new page, you can include them in the query string of the URL, as in Example 8-9. Redirecting with query string variables
Redirect URLs should include the protocol and hostname. They shouldn't be just a pathname. Example 8-10 shows a good Location header and a bad one. Good and bad Location headers
The URL that you are redirecting a user to is retrieved with get. You can't redirect someone to retrieve a URL via post. With JavaScript, however, you can simulate a redirect via post by generating a form that gets submitted (via post) automatically. When a (JavaScript-enabled) browser receives the page in Example 8-11, it will immediately post the form that is included. Redirecting via a posted form
The form in Example 8-11 has an id of redirectForm, so the code in the <body/> element's onload attribute submits the form. The onload action does not execute if the browser has JavaScript disabled. In that situation, the user sees a Please Click Here To Continue button. 8.4.4. See AlsoDocumentation on header( ) at http://www.php.net/header. |