Ja mialem podobny problem tez mi wywalalo ostrzezenie ze nie jest zdefiniowana zmienna ktora w zasadzie powinna byc zadeklarowana w adresie ale niestety nie byla i wtedy wpadlem na pomysl aby napisac skrypt ktory pobieral by naglowek alba zmienna z tego naglowka i jak jej nie ma to dopisywal i sprawdzal czy zgadza sie ona z mozliwymi wartosciami np id="sg, kg" gdzie sg to strona glowna a kg ksiega gosci

Co bede duzo pisac przedstawiam kod
[php:1:c893abe1d3]<?php
$wid=$_GET['id'];
$zmienne=array("sg","sz","pa","of");
if (empty($_GET['id'])){
Header('Location: ?id=sg');
}elseif (!(isset($_GET['id']))){
Header('Location: ?id=sg');
}elseif (!in_array($wid, $zmienne)){
Header('Location: ?id=sg');
}else {
}
?>[/php:1:c893abe1d3]
Nie wiem czy dokladnie o to ci chodzi ale moze analizujac ten skrypt wpadniesz na jakies rozwiazanie

Opcje else warto zostawic pusta gdyz moga byc czasem rozne nieprzewidziane sytuacje i kijowo by bylo jakby caly czas sie przegladarka przeladowywala do podanej strony

Mozna by go troche jeszcze zmodyfikowac i dodac kolejna opcje elseif np.
[php:1:c893abe1d3]<?php
$wid=$_GET['id'];
$zmienne=array("sg","sz","pa","of");
if (empty($_GET['id'])){
Header('Location: ?id=sg');
}elseif (!(isset($_GET['id']))){
Header('Location: ?id=sg');
}elseif (!in_array($wid, $zmienne)){
Header('Location: ?id=sg');
}elseif (in_array($wid, $zmienne)){
}else {
Header('Location: ?id=sg');
}
?>[/php:1:c893abe1d3] Moze to cos pomoze

8)