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
Jah had jouw post niet gezien, nadat ik die van mij had gepost.

Oke, dus als ik het goed begrijp kan dit weg:

[php]
// Check
echo $_SESSION['style'] . ' is geselecteerd.'

[/php]

deze 'style' bestaat nog niet. dus overal waar 'style' staat moet een .css te komen staan?? dus iets van default.css.

en ik kan dan gewoon layers gebruiken in mijn pagina??

Ik moet je nog wel vertellen :$ dat ik niets verder weet van PHP
Maar opmaken in design kan ook toch gewoon??
[email protected] schreef op 09.01.2009 15:10
deze 'style' bestaat nog niet. dus overal waar 'style' staat moet een .css te komen staan?? dus iets van default.css.
Nee, dat heb je verkeerd.

Zoals ik al zei, probeer eerst goed te begrijpen wat het scriptje nu precies doet, voordat je het probeert toe te passen. Kopieer het dus eens naar een nieuw PHP bestandje en voer het eens uit. Speel ermee en zie wat er gebeurt. Kijk dan nog eens goed naar het scriptje om te zien of je begrijpt wat er gebeurt, verander desnoods wat aan de code om te zien wat dat oplevert.

Waar je uiteindelijk op uit zult komen is dat je in je HTML zoiets krijgt:

<link href="<?php echo $_SESSION['style']; ?>" rel="stylesheet" />

Bovenstaande is natuurlijk de regel waarmee je je stylesheet laadt.

ps.
Ik moet je nog wel vertellen :$ dat ik niets verder weet van PHP
PHP Beginnershandleiding

Wellicht dat je hier dan iets aan hebt...
Hallo,
terug van weggeweest, ik heb me beetje lopen verdiepen in PHP

Dus ik hoop dat ik de code ben gaan begrijpen alleen nu wilt hij nog steeds niet mijn css laden.

Hieronder mijn voledige code:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="<?php echo $_SESSION['style']; ?>" rel="stylesheet" type="text/css"/> Hier laadt hij zien wat gekozen is en dat onthouden.
</head>
<body>
<?php
session_start();

$aStyles = array( //dit zijn de css waar je uit kunt kiezen
    '1' => 'css1.css', 
    '2' => 'css2.css',
    '3' => 'css3.css'
);
 
if(isset($_GET['style']) && in_array($_GET['style'], array_keys($aStyles))) //Hier laadt hij de css vanuit het menu genaamd style
{
    $_SESSION['style'] = $aStyles[$_GET['style']]; //session geeft aan dat de browser dit moet onthouden bij de volgende pagina's dus de style
}
else
{
    if(!isset($_SESSION['style']))// moet nog steeds onthouden worden
    {
        $_SESSION['style'] = 'css1.css'; //dit is de css die standaart wordt geladen
    }
}
?>

<form method="get" action="">  Moet hier niet wat staan??
<select name="style">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<input type="submit" value="Verander style" />
</form>
</body>
</html>


Ik heb er zelf nog wat bij gezet om te kijken of ik het begrijp.
Zouden jullie dat na kunnen kijkenn voor me? En mij verbeteren als ik het fout heb gedaan?

Alvast bedankt. Steven
Dit script zal een 'headers already sent' foutmelding opleveren. Voor de session_start() van regel 10 heb je namelijk al output naar de browser verzonden (de HTML) en dat is niet toegestaan.

Plaats allereerst dus de session_start() aan het begin van je script. Zet verder deze regels ook aan het begin van je script:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>
Dan worden alle (mogelijke) fouten weergegeven.
Voordat ik dat ga doen ;)
Wat versta jij onder script? Is dat vanaf

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;

tot het afsluiten van de html?

of vanaf het eerste <? teken?

Ik zelf zou zeggen vanaf het eerste <? teken. Bij mij dus vanaf regel 6
Maar omdat ik daar wat geplaatst moet worden zou ik hem op de plaats zetten waar hij nu staat. Wat dus niet goed is.

Dus vanwaar begint het scripten??

Steven
Wat versta jij onder script?
Vanaf begin tot eind, dus ook de HTML meegerekend ;-)
Yeah :-D

Hij pakt nu mijn css en ook de rest :-D

Ik ga nu even kijken of ik er een aantal divs in kan zetten en hoe die daar op reageert.

Moet ik nu in al mijn pagina's


<?php session_start();?>


Neerzetten of laat hij dat nu met alle bestanden zien die uit dezelfde directory worden gehaald?
Ja, zeker weten. Op elke pagina waar je sessievariabelen wilt gebruiken, zul je session_start() moeten aanroepen...
Oke, ik herhaal jou (ook voor mezelf ;-))
Overal waar ik dezelfde sessie wil hebben waar ik mee begonnen ben.
Moet ik starten met

<?php session_start();?>

Zodat alle pagina's die ik aanklik dezelfde stijl houden.
Correct?
Klopt! :)

Reageren