Man muss selten vom Scratch beginnen. Wenn man ein PHP-Script braucht, schaut man was es gibt. Styleswitcher gibt es viele. Am besten gefällt mir der Styleswitcher auf A list apart (kurz und knackig), er hatte nur in der Zwischenzeit in paar Schönheitsfehler.
Das ist aber schnell geändert:
<?PHP
$reff = preg-match("/^[()0-9a-z:/\?_-]+$/i",$_SERVER['HTTP_REFERER']) $_SERVER['HTTP_REFERER'];
$_GET['set'] = isset($_GET['set']) ? $_GET['set'] : 'svp' ;
$set = preg_match("/^[()0-9a-z_-]+$/i",$_GET['set']) ? $_GET['set'] : 'svp';
setcookie ('styleset', $set, time()+31536000, '/', 'pg4me.de', '0');
header("Location: $reff");
?>
Es ginge zwar kürzer. Dazu müsste man nur ein paar Pünktchen setzen, aber mit der extra Zeile und der Extravariablen für den Referrer kann ich leben.
<?PHP
$set = preg_match("/^[()0-9a-z_-]+$/i",$_COOKIE["styleset"]) ? $_COOKIE["styleset"] : 'svp';
$setarray = array("lvp", "svp");
$set = in_array($set, $setarray)? $set : 'svp';
?>
<ul id="styleswitcher">
<li><a href="./switcher.php?set=lvp"><img src="images/lvp.gif" alt="Styleanweisung für Bildschirme mit hoher Auflösung"/></a></li>
<li><a href="./switcher.php?set=svp"><img src="images/svp.gif" alt="Styleanweisung für Bildschirme mit niedriger Auflösung"/></a></li>
</ul>
PG4ME.DE