Wizendraw Skrevet 30. mai 2006 Del Skrevet 30. mai 2006 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
mikaelandre Skrevet 30. mai 2006 Del Skrevet 30. mai 2006 <?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
Wizendraw Skrevet 30. mai 2006 Forfatter Del Skrevet 30. mai 2006 Tusen takk! Jeg prøvde dette, men fikk en parse-error. Virkelig flaut dette, men jeg kan som sagt virkelig ikke PHP. Problemet ligger så vidt jeg kan skjønne i den første linja i PHP-skriptet. Lenke til kommentar
Peter Skrevet 30. mai 2006 Del Skrevet 30. mai 2006 (endret) Det mangler en avsluttende parantes i første linje: GALT: if(isset($_GET['style']){ RIKTIG: if(isset($_GET['style'])) { Endret 30. mai 2006 av Nazgul Lenke til kommentar
Wizendraw Skrevet 31. mai 2006 Forfatter Del Skrevet 31. mai 2006 Takk, nå virker php-skriptet, men den formen fungerer ikke. Den bytter ikke stilsett når jeg trykker på send inn, uansett hvilket av alternativene jeg velger. Og ja, jeg har byttet navn på filnavnene i formen. Lenke til kommentar
mikaelandre Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 jeg skreiv feil... beklager. når du bruker form skal det være $_POST og ikke $_GET. bytt ut $_GET med $_POST i øverste linje, så skal det bli flott Lenke til kommentar
bosannes Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 (endret) 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 31. mai 2006 av bosannes Lenke til kommentar
Wizendraw Skrevet 31. mai 2006 Forfatter Del Skrevet 31. mai 2006 Åja, nå funka det perfekt. Hjertelig takk for hjelpen! Lenke til kommentar
MC2 Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 problemet nå er at sida di er skadelig mot xss angrep, og en enkel måte å gjøre ting vanskeligere er å bytte ut linja $style = $_POST['style']; med $style = htmlspecialchars($_POST["style"]); Lenke til kommentar
Wizendraw Skrevet 31. mai 2006 Forfatter Del Skrevet 31. mai 2006 Ok, skal gjøre det. Men gidder du utdype hva xss-angrep er? Lenke til kommentar
MC2 Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 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
genstian Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå