Gå til innhold

Trenger hjelp med bytte av CSS-ark


Anbefalte innlegg

Hei

 

Jeg driver og har et skoleprosjekt der jeg skal vise fram fordelene med CSS innen webdesign.

Dette innebærere (selvsagt) at brukeren kan bytte stilark uten å bytte HTML-siden.

 

Jeg har prøvd å bruke et PHP-script fra http://www.unrealized.org/ , men da jeg ikke kan PHP utover det veldig enkle (modifisere enkle skript) så fikk jeg problemer.

 

Det skriptet jeg fant bruker cookies for å la browseren huske hvilket stilark brukeren hadde forrige gang. Det trenger jeg ikke, og da jeg prøvde å bruke det så fikk jeg problemer da et annet php-skript jeg har (som sjekker om browseren støtter xml og sender dokumentet avhengig av det) sender en header, og dette skriptet forsøkte å sende en ny header. Jeg har ikke kunnskaper nok til å smelte sammen de to headerene.

 

Har noen mulighet til å hjelpe meg med et lite skript som gjør så en bruker kan velge hvilket stilark den ønsker ved å trykke på en link, også bytte ut verdien i href=""-feltet i <link>-taggen?

Eller evt. gi meg tips for å få det andre skriptet til å virke.

 

På forhånd tusen takk!

Lenke til kommentar
Videoannonse
Annonse

<?php
   if(isset($_GET['style']){
       $style = $_POST['style'];
   } else{
       $style = default.css;
   }

   echo'

   <title>
       <link href="'. $style .'" type="text/css"/>
   </title>
  ';
?>

i body:

<form method="post">
<select name="style">
   <option value="blaa.css">Blå</option>
   <option value="roed.css">Rød</option>
</select>

<input type="submit"/>
</form>

 

eller noe slikt.. har ikke testet, men tror du får en dropdown-liste hvor du kan velge rød eller blå. Hvis du har valgt noe, så settes variabelen $style til det du valgte, hvis ikke settes den til default.css. $style brukes så for å angi css-fil i <link>.

Lenke til kommentar

Problemet her vil bli at denne informasjonen forsvinner når du går til en ny side.

Slik kan du lagre verdien i en session:

 

<?php

if (!$_SESSION['style']) {
$_SESSION['style'] = "default";
}

  if($_POST['style']){
      $_SESSION['style'] = $_POST['style'];
  }

  echo"

  <head>
      <link rel=\"stylesheet\" href=\"{$_SESSION['style']}.css\" type=\"text/css\" />
  </head>
 ";
?>

 

i body:

 

<form method="post">
<select name="style">
  <option value="blaa">Blå</option>
  <option value="roed">Rød</option>
</select>

<input type="submit" />
</form>

Endret av bosannes
Lenke til kommentar

http://en.wikipedia.org/wiki/XSS

 

Det er "veldig" utbredt, men jeg tror ikke det kan gjøre så mye skade (selvfølgelig avhenging av en drøss faktorer). Vet ikke hvor farlig det kan være, men de fleste xss angrep er rettet mot besøkeren, eller å hente info fra besøkeren (som cookies etc). Men siden du bruker $_POST variablen forminsker det vel sjansen for xss, men alltid best å være på den sikre siden :)

Lenke til kommentar

I fålge standarden så bruker man:

<link rel="alternate stylesheet" href="alternativ.css" type="text/css" title="Psykedeliske fargar" />

EKS:

<link rel="stylesheet" href="standard.css" type="text/css" />
<link rel="stylesheet" href="skjerm.css" media="screen" type="text/css" />
<link rel="stylesheet" href="skjerm-fargar.css" media="screen" title="Fine fargar" type="text/css" />
<link rel="alternate stylesheet" href="samandrag.css" title="Samandrag" type="text/css" />
<link rel="alternate stylesheet" href="psyk-skjerm.css" media="screen" title="Pyskedeliske fargar" type="text/css" />
<link rel="alternate stylesheet" href="psyk-utskrift.css" media="print" title="Pyskedeliske fargar" type="text/css" />

i mozilla/firefox så bruk vis->sidestil for å velge.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...