Hierzu sind mehere CSS-Dateien notwendig die z.B. "style1.css", "style2.css" usw. heißen müssen. Dem entsprechend müssen eure Seiten bzw. Tabellen CSS gerecht geschrieben sein also <td id="navi"> usw. Dann wird über ein Formular eine Datei ausgewählt, die über die Ziffer 1, 2 usw. angesprochen wird. Der Wert wird in einem Cookie ( hier für ein Jahr) gespeichert. In den Seiten muss der Cookie ausgelesen und sein Inhalt einer CSS-Datei zugeordnet werden. Der Name des Cookies ( design ) ist gleichzeitig der Variablenname der abgefragt wird. Diese Variable enthält den Wert 1 oder 2 usw. Die generierung des CSS-Links zwischen dem <head> und </head> Bereich der Seiten erfolgt im ersten Codeabschnitt:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
prüfen ob das Formular gesendet wurde:
if(isset($seitenfarbe)) {
setcookie("design", $seitenfarbe, time()+(60*60*24*365));
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"style$seitenfarbe.css\">";
wenn nicht, prüfen ob Cookie bereits existiert:
} else if(isset($design)) {
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"style$design.css\">";
sonst wird das Standarddesign ausgegeben.
} else {
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"style1.css\">";
}
?>
|
--------------------------------------------------------------------------------
Dieser Teil gibt das entsprechende Formular aus und muss irgendwo im <body> eingefügt werden:
|
Quellcode
|
1
2
3
4
5
|
<php
echo "
<form name=\"sitecolor\" action=\"$PHP_SELF\" method=\"post\">
<select name=\"dx\"
|
Bei einer Änderung im Pulldownmenu wird sein Wert ins versteckte Formularfeld geschrieben.
|
Quellcode
|
1
2
3
|
onchange=\"document.sitecolor.seitenfarbe.value=
document.sitecolor.dx.options
[document.sitecolor.dx.selectedIndex].value\">
|
|
Quellcode
|
1
2
3
4
5
6
7
|
<option selected value=1>Design
<option value=1>Standard
<option value=2>Design 2
<option value=3>Design 3
</option>
</select>
<input type=\"submit\" value=\"OK\" style=\"width:30px\">
|
Hier wird die Designnummer versteckt. Wenn der Cookie vorhanden ist, wird sein Wert als value übernommen, falls jemand auf den Button klickt ohne vorher was ausgewählt zu haben.
|
Quellcode
|
1
2
3
4
5
6
7
|
<input type=\"hidden\" name=\"seitenfarbe\"
value=\""; if(isset($design)) { echo $design; } else { echo "1"; } echo "\">
</form>
";
?>
|
Tutorial © by
Webstone.info