Warning: Cannot modify header information - headers already sent by (output started at /var/www/hjemmesideskolen.dk/public_html/html/testsider/designskift3.php:2) in /var/www/hjemmesideskolen.dk/public_html/html/testsider/head7dp.inc on line 17
Hjemmesideskolen - Test af alternativ css

Test af alternativ css

Styleskift via php-script

Siden er opdateret 2. 5. 2006

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 de tegn, der ikke må benyttes ved kald til eksterne css-filer.
function is_harmful($bad) {
 $bad=array('@','%',"\\",'<','>','(',')',';','script'); }

// Tjek, at der ikke er benyttet spærrede tegn.
  if(!is_harmful($_GET["style"])) {
// Tjek, at der er bestilt et css og indlæs det ønskede css.
   if(isset($_GET["style"]) && $_GET["style"] != "")
   {
    $style=$_GET["style"];
   }

// Definer standard-css, hvis ikke andet er ønsket brugt.
   else
   {
    $style="../../hss-main.css";
   }
  }
?>

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.

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