Re: Re: header() behaviour
| From: | Rasmus Lerdorf | Date: | Wed, 29 Oct 2003 00:20:35 +0000 |
| Subject: | Re: Re: header() behaviour | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-5057@lists.php.net to get a copy of this message | ||
On Wed, 29 Oct 2003, Christian Schneider wrote:
> Gareth Ardron wrote:
> > $var = "foo=1&bar=2";
>
> To clarify:
> You should use $var = "foo=1&bar=2"; and then $var for header() but
> htmlspecialchar($var) for your href:
> - HTTP-Headers must not be html-encoded.
> - HTML-Attributes on the other hand have to be html-encoded.
>
> Even though most browsers work with hrefs without html-encoding and some
> browsers might understand & in HTTP-Headers this is not conforming
> to the standards.
Actually, & is the way you need to write it if you are going to be
perfectly standards-compliant. It's just that nobody does this. You can
make PHP understand this by setting the separator in your php.ini file to
&
-Rasmus