Valid XHTML en PHPSESSID

Hi,

Heb een website in elkaar geflanst.
Helemaal in CSS / XHTML.
Nu krijg ik be de XHTML validatie steeds dezelfde foutmelding en die ontstaat omdat er een & i.p.v. een & in een url staat. Heel leuk en aardig, maar deze & wordt door PHP zelf geplaatst omdat de PHPSESSID wordt meegegeven op de eerste pagina.

Is er een manier om dit te omzeilen?

CSS wil me nog wel redelijk lukken, maar PHP ben ik een nono in. Mijn reactie is dus geheel 'as is'.

Ik zit toevallig net te zoeken in Jeffrey Zeldman en kwam je probleem tegen (pag 142).
De oplossing lijkt te staan op http://www.hivelogic.com/urlcleaner.php

Dit is helaas niet wat ik zoek. Ik heb alle links al met ampersands gemaakt. Echter, wanneer een php pagina voor het eerst laadt wordt dus de sesion id erachter geplakt. Het is dan PHP zelf wat er een &sessionid=2384-3843721947 achter zet. En juist die & verpest het een beetje...

Je kan dit veranderen in de php.ini. Dit bestand is te vinden in os x onder etc/php.ini Hierin moet je de arg_separator.output veranderen naar "&"

Als je website shared gehost is ga je waarschijnlijk geen toegang hebben tot php.ini. Probeer dan volgende code als eerste regel in je php bestand. [code:1:30f667ccfe]ini_set(‘arg_separator.output’, ‘&’)[/code:1:30f667ccfe] Werkt vanaf php 4.2.0

Ja, bij verder nalezen zag ik dat het meer een tijdelijke oplossing was voor externe links. Werkt de truc van Sen wel?

Volgens mij moet PHP-sessies 'ruiken' of er al een ampersandje in de URL zit. Ik begrijp je probleem niet helemaal. Kun je mij de XHTML toesturen waar het op foutloopt volgens de validator en eventueel de code die je gebruikt om die links te maken? Dan wil ik er wel naar kijken.

In een url mag volgens de XHTML regels geen & voorkomen omdat deze exclusief gebruikt worden voor de karaktertekens zoals. é voor é. Dar moet je dus met een slinkse truc anaf zien te komen...

kan je niet gewoon een urlencode() doen?