Hallo,

Ik ben bezig met een portfolio en daar wil ik graag dat je verschillende css's kan laden.
Hoe doe ik dat?

Het enige wat ik heb kunnen vinden is het volgende:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Groepsreizen Europa</title>
<link rel="stylesheet" type="text/css" id="maincssfile" media="screen" href="cssdocument1.css" />
</head>
<body onload="">
    hallo allemaal :)<br/><button onclick="document.getElementById('maincssfile').href='cssdocument2.css';">laadt CSS document</button>
</body>
</html>


Alleen nu zou ik graag een uitklap menu willen zodat je daar kan kiezen.
En wanneer je je keuze gemaakt hebt (je klik dus op je keuze) dat hij dat dan gelijk laadt.
MAAR hij moet dat dan vervolgens bij al mijn pagina's doen.
Nu heb ik begrepen dat je dat met cookie's kan doen. Alleen weet ik niets van cookies af.

Kunnen jullie mij helpen.

Groet, Steven
Steven schreef op 16.01.2009 13:48
Zodat alle pagina's die ik aanklik dezelfde stijl houden.
Correct?
En ze houden dezelfde style omdat die opgeslagen is in $_SESSION['style'] en deze variabele pas beschikbaar is na het aanroepen van session_start()...

Verder heb ik er helemaal niets aan toe te voegen ;-)
Hmmmm vandaar dat ik hem helemaal boven in mijn pagina moet zetten.

Maar als je even mee wilt lopen naar de site ;-)
http://dzjunior.byethost9.com/test/css/cssladenphp.php

En het menu doorloopt dan gaat hij beetje zijn eigen gang :-(
Of zou dat aan mijn browser liggen? Safari?

Hij laadt niet meteen de 1e css (black)
En tja hij luistert niet echt naar het menu.

Is dat ook bij jullie?

Steven
Dat komt omdat je de sessievariabele pas verandert nadat je zijn waarde in de src van de css geëchoed hebt.

Plaats je PHP code in zijn geheel boven je HTML, dan zou dat probleem ook opgelost moeten zijn.
YEAH :-D

Weer gelukt.

Oke dan denk ik nog wat kleine dingetjes voordat ik hem ga belasten (dus vier sites maken)

Je kan ook een rollmenu maken dat wanneer je op je keuze klikt hij meteen laad toch? Nu heb ik een button. Maar dat kan toch ook zonder button?

EN kan je dat ook met van die aanvink rondjes, vierkantjes doen?
Want daar moet hij toch blijven op het gekoze style? Want met dit rol menu springt hij gelijk weer terug op de 1e in het rolmenu.

Steven
Steven schreef op 16.01.2009 14:15
Je kan ook een rollmenu maken dat wanneer je op je keuze klikt hij meteen laad toch? Nu heb ik een button. Maar dat kan toch ook zonder button?
Dat zou je met javascript kunnen doen. Hang er een onchange event aan waarmee je het formulier verstuurt.

Want met dit rol menu springt hij gelijk weer terug op de 1e in het rolmenu.
Je kunt er prima voor zorgen dat de geselecteerde style ook geselecteerd is in je dropdown menu. Voeg daartoe aan de betreffende <option> het selected="selected" attribuut toe. Je options zouden er dan zo uit komen te zien:

<option value="1" <?php if(isset($_SESSION['style']) && $_SESSION['style'] == 1) echo 'selected="selected"'; ?>>1</option>
Oke, voor nu kan het wel even zo ;-) Ben al blij genoeg dat het gelukt is.
Over je laatste code. Die moet ik dan overal achter zetten?

Want het is bij alle eigenlijk. Zodat ze zien welke stijl ze hebben.
Ja, dat zul je bij elke option moeten doen.

Wat je daarmee doet is controleren of de style in de sessievariabele overeenkomt met de style die de betreffende option aangeeft. Als dat zo is, geef je die option het selected="selected" attribuut mee zodat hij geselecteerd is als je de pagina laadt.
Oke.

Dat laatste komt echt over dat ik het zelf allemaal moet doen :p
Maar neem aan dat hij dat lekker zelf doet ;-)
Uiteraard, jij geeft met dat if-statement en die echo immers al aan dat dat moet gebeuren onder die voorwaarde...
Hij geeft hem niet goed weer.
Hij opent goed met <?php maar sluit niet goed af.
Behalve als ik er 2 onder elkaar zet.
Dan is de 2e goed maar de 1e niet. Maar ik kan nu ff niet zien waar het fout gaat.
Dacht ff met het laatste stukje voor de >1</option>
Maar dat is het niet.

Reageren