01. november 2007 - 20:24Der er
19 kommentarer og 1 løsning
Gem cookie med valgte CSS-fil.
Jeg er igang med at kode en hjemmeside, og tænkte om det er muligt at have sådan folk kan vælge hvilket stylesheet de vil bruge ud af flere, så man f.eks. kunne lave et i grønt tema, og et i rødt tema, måske et med arial som font, og et andet med verdana som font, så brugerne kan vælge hvad de bedst kan lide..
Hvordan gør man det? Og hvordan laver man en cookie(eller noget andet der fungerer ligeså godt?) så den husker hvad man har valgt?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Min idé var at der i toppen af siden var billeder, fungerende som knapper, det jeg til en start skal have lavet er et grønt og et rødt tema, så simpelthen bare have en henholdsvis grøn og rød firkant man kan trykke på og derpå vælger man sit stylesheet.
Men jeg har ingen idé om hvordan man kan ændre sådan en style i koden?
Du kan vel lave sådan noget med at du navngiver hvert tema på en måde, og disse sendes så videre til der hvor du henter din css side.
Så kan du lave ex. <link href="<?=$detBrugerenValgte?>" rel="stylesheet" type="text/css">
så kan du vel lave sådan her med navnene fra "knappern": <?php if($_GET[tema] == "green"){ $detBrugerenValgte = "green.css"; }elseif($_GET[tema] == "red){ $detBrugerenValgte = "red.css"; }else{ $detBrugerenValgte = "defaultcss"; } ?>
ehh, i mit ex. Har lavet to stylesheet's, green.css og red.css green.css: body { background-color: green; color: white; font-size: 1.0em; text-align: center; }
og red.css: body { background-color: red; color: grey; font-size: 2.0em; }
Og selve php scriptet: <?php // et array med mulige valg for stylesheet // nyt tilføjes som f.eks. "black" => "Sort" $styles = array("green" => "Grønt", "red" => "Rødt");
// hvis der er klikket på et link til stylesheet // og værdien af get style findes i $styles array'et
if(isset($_GET["style"], $styles[$_GET["style"]])) { // sætter cookie og den gælder fra roden af domain, "/" setcookie("style", $_GET["style"], (time()+7776000), "/"); // 90 dage // sender bruger tilbage til filen header("Location:". $_SERVER["PHP_SELF"]); exit; }
?> <html><head><title>Style og cookie</title>
<!-- er cookie style sat?, ellers brug rød tema --> <link rel="stylesheet" type="text/css" href="<?php echo (isset($_COOKIE["style"]) ? $_COOKIE["style"] : "red"); ?>.css">
</head> <body>
<?php // laver et link til hver style foreach($styles as $key => $value) {
Men hvis jeg trykker på et af linkene i index.php?side=Resultater, så går den automatisk tilbage til standard siden index.php?side=Forside, kan man gøre noget der?
Ingen point, ellers tak. Og ja, det kan se forvirrende ud hvis man ikke lige plejer at rode med php kode! Og der var selvf. en fejl, i koden jeg pastede, manglende ." efter REQUEST_URI i linket
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.