Du bist nicht angemeldet.

  • Anmelden
  • Registrieren

NoX

Anfänger

Beiträge: 18

1

28.06.2005, 12:39

PHP/CSS-Designwechsler

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

Thema bewerten