NYCPHP Meetup

[nycphp-talk] Redirect after post with "HTTP/1.1 303 See Other"

Daniel Convissor danielc at analysisandsolutions.com
Wed Jan 26 12:40:53 EST 2005


Hey Chris:

On Wed, Jan 26, 2005 at 12:28:19PM -0500, csnyder wrote:
> 
> <?php
>   // process form
>   ...
>   // redirect to results page
>   header( 'HTTP/1.1 303 See Other' );
>   header( 'Location: result.html' );
>   exit( 'Form submitted, <a href="result.html">continue</a>.' );
> ?>

Good point.  But some feedback here.  The optimail syntax is:

<?php
   // process form
   // ...
   // redirect to results page
   header('Status: 303 See Other' );
   header('Location: http://full_uri/result.html');
?>

Here's why...

Using "Status:" in the header is better because the resulting headers from 
Apache are more correct:
    HTTP/1.1 303 See Other
instead of
    HTTP/1.1 303

Additionally, one doesn't really know which version of HTTP is being used, 
so why potentially cause problems by trying to guess.

The specs say location headers must have a complete URI in them, not just 
the path.

Lastly, you don't want any output after the location header.

Later,

--Dan

-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
 4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335 f: 718-854-0409



More information about the talk mailing list