Mam problem z małym skryptem, który ma za zadanie przy użyciu sesji pamiętać wybrany język na stronie.
Wszystko dziła OK, tylko(!) w adresie URL pojawiają się straszne śmieci co powoduje błąd validatora:
Kod
general entity "PHPSESSID" not defined and no default entity
<a href="index.php?go=0&PHPSESSID=f9342a239dbc88c939f707cd8bef3428">
<a href="index.php?go=0&PHPSESSID=f9342a239dbc88c939f707cd8bef3428">
Jak zapobiec powstawaniu takich śmieci ?
Mój skrypt php
<?php $jezyk = $_GET[\"jezyk\"]; { $_SESSION[\"jezyk\"] = $jezyk; } else { $_SESSION[\"jezyk\"] = isset($_SESSION[\"jezyk\"])?$_SESSION[\"jezyk\"]:\"en\"; } //Wybór podstrony <a href=\"index.php?go=0\">strona1</a><br /> <a href=\"index.php?go=1\">strona2</a> //Wybór wersji językowej <a href=\"index.php?jezyk=pl\">polski</a><br /> <a href=\"index.php?jezyk=en\">angielski</a> switch ($_GET[\"go\"]) { case 0: default: include(\"lang/strona1{$_SESSION[\"jezyk\"]}.php\"); break; case 1: include(\"lang/strona2{$_SESSION[\"jezyk\"]}.php\"); break; } ?>
Pliki w katalogu lang/ nazywają się strona1en.php, strona1pl.php i strona2en.php, strona2pl.php
Tylko że zamiast pl lub en w nazwę pliku wstawia on też te śmieci co powoduje że kod się nie validuje.
Jak to naprawić ?
