StyleSheet Switcher

Gebruiker laten kiezen via Php.

Na een reactie van Cepheus, die mij erop wees dat het beter was (en ook inderdaad waar is) om de javascript intrinsic events niet in document te hebben verweven.

Citaat van Cepheus:

JAVASCRIPT kan erg handig zijn voor dit soort dingen maar het is wel beter alles gescheiden te houden (content, style en behaviour). Zorg dus dat je JAVASCRIPT niet in het document verweven is met intrinsic events. Beter kan je je het desbetreffende element opzoeken met DOM acties zoals getElementById. Wat helemaal ideaal zou zijn is dat als JS uit staat er gelinkt wordt naar een PHP versie.

Dus gaan we nu een Stylesheetswitcher maken met behulp van PHP er van uitgaande dat Javascript niet actief is, en geen javascript events meer in de links (voor te switchen), maar met php instructies.
Het voordeel van deze manier is dat als JAVASCRIPT niet aanstaat bij je bezoeker, er dan wordt verdergegaan met PHP, dus de switcher zal altijd werken.

En zoals de vorige keer ook al:

Mozilla browsers en Opera hebben deze fuctie standaard ingebouwd in het menu, maar Internet Explorer niet, daarom is er nood aan een extra functie zelf ter beschikking te stellen. Zo is iedereen tevreden.

De Html klaarmaken.

Ik zal niet alles herhalen wat hoe en waarom, dit kan je in de JAVASCRIPT versie van de stylesheet switcher nalezen, ik zal hier enkel de veranderingen neerzetten

De header.

<head>
<title>Style sheet switcher</title>
<?php
if(isset($_GET['style'])) {
$style = $_GET['style'];
}
else {
$style = 'normaal';
}
?>
<link rel="<?php if($style != 'normaal') { print 'alternate '; }
?>stylesheet" type="text/css" href="normaal.css" title="normaal">
<link rel="<?php if($style != 'groter') { print 'alternate '; }
?>stylesheet" type="text/css" href="groter.css" title="groter">
<link rel="<?php if($style != 'giga') { print 'alternate '; }
?>stylesheet" type="text/css" href="giga.css" title="giga">
</head>

Dus wat hier gebeurd is het volgende:
Er wordt eerst gekeken of er geen style reeds actief is met if(isset), is dit zo dan wordt de pagina met de voordien gekozen stylesheet weergegeven en de standaard stylesheet wordt dan in de header bepaald als alternate, zo dat het mogelijk is om terug te switchen, is dit niet het geval (eerste bezoek) dan wordt de standaard stylesheet genomen met else {$style = 'normaal';).

De navigatie voor de styleswitcher.

Om het ook te laten werken heb je natuurlijk een aantal links nodig die door erop te klikken de betreffende stylesheet aktief maken.

<a href="index.php?style=normaal">Normaal</a>
<a href="index.php?style=groter">Groter</a>
<a href="index.php?style=giga">Gigantisch</a>

Wens je de styleswitcher te gebruiken op elke pagina, dan laat je telkens de naam van de pagina weg: <a href="?style=naam">link</a>

En tot slot een werkend voorbeeld

Zoals altijd krijg je ook weer een visueel voorbeeld te zien.