xiven.com stating the blatantly obvious since 2002

I suck? No, blame PHP!

I received word that my website was producing invalid XHTML. Naturally I went to investigate...

XML Parsing Error: not well-formed
Location: http://xiven.com/blog.php?start=13&count=1
Line Number 21, Column 59:<h2><a class="stamp" href="?start=13&amp;count=1&PHPSESSID=82...d4">2002-11-13 23:25:55 UTC</a> Can someone please make IE not suck?</h2>

What you are witnessing above is PHP tacking its session ID onto the end of a URI. It does this when it thinks that the client can't use cookies. It is a wonderful new feature added in PHP 4 for making sessions work without needing cookies and without the author needing to add the session IDs to the URIs manually (it sometimes seems to think that the client can't accept cookies even when it can, but that's another issue).

Unfortunately, by default, PHP uses an unescaped ampersand (&) to do this, which is clearly invalid HTML. Since I'm sending this page as XHTML, Mozilla sees this error and quite rightly says "Ey up! Something's not right here!". It is possible to change this behaviour by editing the configuration files, but since I don't have access to these files, this presents a slight problem.

For now, I am disabling the use of sessions on this website. This means that I can't login to add any further posts, but hopefully the e-mail that Hixie sent to our host will get this issue resolved ASAP. Either that or I find another way around the problem.

Posted: 2002-11-22 06:27:37 UTC by Xiven | Cross-references (4) | Comments (0)