Mensen kunnen in het menu kiezen of ze de website in het blauw of in het groen willen zien.

Dat doe ik op deze manier:


<?php
if (isset($_GET['kleur_id'])){
	$query = 'SELECT url FROM kleur WHERE kleur_id = '.$_GET['kleur_id'].'';
	$result = mysql_query($query) or die ("Sorry maar ik de pagina van onze vakanties niet weergeven");
	$row = mysql_fetch_object($result);
	echo '<link href="'.$row->url.'" rel="stylesheet" type="text/css" />';
	}else{
	?>
<link href="/style_blauw.css" rel="stylesheet" type="text/css" />
<?php
	}
	?>


Dit gaat goed op de eerste pagina (index.php)
Als je daarna op een andere link klikt en de pagina ververst dus, dan krijg je de standaard kleur te zien.

Hoe kan ik er voor zorgen dat hij de ingestelde kleur onthoud?
Je kan die voorkeur wegschrijven in een $_SESSION, vervolgens kan je die bovenaan iedere pagina opvragen :).
Helaas weet ik bijna niets van sessies.

Ik heb net weer een half uur zitten lezen op php.net en op andere pagina's maar ik weet niet hoe ik het moet doen.

Boven aan de pagina staat al wel session_start()

<?php


if (isset($_GET['kleur_id'])){
$query = 'SELECT url FROM kleur WHERE kleur_id = '.$_GET['kleur_id'].'';
$result = mysql_query($query) or die ("Sorry maar ik de pagina van onze vakanties niet weergeven");
$row = mysql_fetch_object($result);
$_SESSION['style'] = '<link href="'.$row->url.'" rel="stylesheet" type="text/css" />';
}else{
?>
<link href="/style_blauw.css" rel="stylesheet" type="text/css" />
<?php
}
?>
EDIT:

Nu heb ik dit script zo gemaakt:
En het werkt.
Maar is het helemaal goed gemaakt?

<?php
if (isset($_GET['kleur_id'])){

$query = 'SELECT url FROM kleur WHERE kleur_id = '.$_GET['kleur_id'].'';
$result = mysql_query($query) or die ("Sorry maar ik de pagina van onze vakanties niet weergeven");
$row = mysql_fetch_object($result);
$style = $row->url;
session_register("style");
}
echo '<link href="'. $HTTP_SESSION_VARS['style'] .'" rel="stylesheet" type="text/css" />';
?>

Reageren