Test af alternativ css

Styleskift via php-script

Siden er opdateret 2. 5. 2006

Script af BLH

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.

Først skal der øverst i dokumentet, før DocType, indsættes dette php-script:

<?php
// Definer standard-css, hvis ikke andet er bestilt. define('BASICSTYLESHEET', '../../hss-main.css');

// Definer de tegn, der må og ikke må benyttes ved kald til eksterne css-filer.
function is_harmful($userstring) {
$harmless = array('','','','','','','','','','','','','','','','','');
$harmful = array('@','%',"\\",'<','>','(',')',';','script');
$lowcasestring=strtolower($userstring);
$newstring=str_replace($harmful,$harmless,$lowcasestring);
return $newstring!=$lowcasestring;
// Hvis de er forskellige, var der en udskiftning - der var altså nogle farlige tegn:
return $newstring!=$lowcasestring;
}

// Hovedrutinen:
if (isset($_GET["style"])) $style=$_GET['style']; // Saml input op - også en tom streng.
if (is_harmful($style) || $style=='') $style=BASICSTYLESHEET;
?>

I næstsidste kodelinje definererer du den css, som skal benyttes, hvis der ikke i linket til siden er specifiseret noget andet.

Derefter skal du lave en modifikation af sidens kald til eksternt stylesheet - brug af indlejret stylesheet eller inline-css kan ikke anbefales, da det vil modvirke forsøg på at ændre sidens design:

<link href="<?php echo $style; ?>" rel="stylesheet" type="text/css" />

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 teknikken demonstreret i asp
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.


Den teknik, som er beskrevet på denne side, åbner mulighed for, at dine brugere kan lave deres egne scc-filer til brug for visning af dine sider. Brugerne skal bare i linket til din side definere placeringen af den css, som skal benyttes:

<a href="designskift.asp?style=http://domain.dk/privat.css">Designskift</a>
Valid XHTML og CSS / Copyright © Hjemmesideskolen april 2006
Du er her: Forsiden - html - testsider - Test af alternativ css
sidens top
Brugere lige nu:
Home Mail Printer