Siden er opdateret 29. 11. 2009
Denne side demonstrerer, hvordan man med et php-script og en håndfuld links kan ændre en sides design. Da css-skiftet sker fra serveren, virker det selvfølgelig i alle browsere.
Du indsætter et lille php-script over sidens header eller i det mindste før kaldet til css:
<?
// Definer lovlige stylesheets
$harmless = array('../hss-main.css','ds2.css','ds3.css');
// Definer standard stylesheet
$defaultstyle = "../hss-main.css";
// Hent style-info sidedesign.
$style=$_GET["style"];
// Blokerer ulovligt style-info
if(!in_array($_GET["style"],$harmless)) {
// Hvis intet lovligt style-info fundet, kig efter cookie
$style=$_COOKIE["phpdesignskifte"];
// Blokerer forkert input fra cookien
if(!in_array($_COOKIE["phpdesignskifte"],$harmless)) {
// Er brugbar style-info endnu ikke fundet, brug standard stylesheet
$style = $defaultstyle;
}
}
// læg style-info i coogie
setcookie("phpdesignskifte", $style, time()+2592000, "/");
?>
Derefter skal du lave en modifikation i linket til css:
<link rel="stylesheet" type="text/css" href="<?php echo $style; ?>" />
Nu mangler du bare at lave en håndfuld links den samme side, men med forskellige styles indlæst:
<a href="?style=ds2.css">Alternativt design 2</a>
I linket i kodeboksen her over indsætter du det ønskede css-ark på pladsen, hvor teksten er sort. Samtidig skriver du den ønskede linktekst inden likets sluttag.
Se den side, hvor skiftet er lavet med asp-kode.
Se den side, hvor skiftet er lavet med javascript.
Se den side, som kun virker i Firefox, Mozilla, Netscape og Opera.
Bemærk, at de to teknikker (serverside-styret css-skift og css-skift via en browserfunktion) ikke er glade for at arbejde sammen.