|
|||
css styleswitcher
hola,
habe einen php style.switcher von dieser seite. leider funktioniert dieser nicht ganz oder mache ich etwas falsch? gracias! Code:
<?php session_start(); if ( isset($_GET['style']) ) { $_SESSION['style'] = $_GET['style'];} elseif ( !isset($_SESSION['style']) ) {$_SESSION['style'] = 'default';} ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>design</title> <link rel="stylesheet" type="text/css" href="<?php echo $_SESSION['style']?>.css" /> </head> <body> <div id="container"> <ul id="navigation"> <li id="abc"><a href="#">Link</a></li> <li id="def"><a href="#">Link</a></li> <li id="ghi"><a href="#">Link</a></li> <li id="jkl"><a href="#">Link</a></li> <li id="mno"><a href="#">Link</a></li> <li id="pqr"><a href="#">Link</a></li> <li id="stu"><a href="#">Link</a></li> <li id="xvw"><a href="#">Link</a></li> </ul> <div id="content"> <a href="<?php echo $_SERVER['PHP_SELF']?>?style=default">Das Standard-Design</a> <a href="<?php echo $_SERVER['PHP_SELF']?>?style=style1">Design 1</a> <a href="<?php echo $_SERVER['PHP_SELF']?>?style=style2">Design 2</a> <h1><span>Test</span></h1> <br /> <p> testtesttesttesttesttestesttesttesttesttest </p> <p> testtesttesttesttesttestesttesttesttesttest </p> <p> testtesttesttesttesttestesttesttesttesttest </p> </div> </div> </body> </html> |
Sponsored Links |
|
||||
Existiert denn style1.css, style2.css, default.css, etc?
Wie sieht denn der geparste PHP Code aus? Online Beispiel deiner Version wäre praktisch. EDIT: Verhinder die Leerzeile zwischen PHP Code und Doctype (lößt im IE < 7 den Quirksmode aus).
__________________
CSS-FAQ beantwortet die meisten Fragen | Retro coding gegen Divitis | Code validieren & posten für Hilfe |
Sponsored Links |
|
||||
Ergänzend zu ArcVieh Beobachtungen:
sind die css Dateien auch im gleichen Verzeichnis wie die PHP Datei?
__________________
To attain knowledge, add things everyday. To obtain wisdom, remove things everyday. (Lao Tzu) Links : Some needfull links (Delphi, XHTML...) Tools : Arpoon Freeware (Checksum...) |
|
|||
Zitat:
Zitat:
leider kenne ich mich in php überhaupt nicht aus daher müsstest du mir das mit dem geparsten PHP Code kurz erläutern. aber ich vermute mal das ist serverseitig vom hoster aus, oder? gracias! |
|
||||
Augenscheinlich hat der Switcher keine Fehler. Wenn ich es in meinen Editor kopiere, zeigt das Syntax Highlighting auch keinen Fehler.
Damit Du verstehst, was der Switcher macht: Im GET Parameter "style" wird ein Wert abgelegt. Bei dir z.B. style1 oder style2 oder default. Nach dem das Skript den Wert aus der "Variable" also aus $_GET['style'] ausgelesen hat, wird diese Variable in einer "Session" abgelegt, solche Sessions verwendet PHP bzw. der Webserver, um die einzelnen Besucher deiner Seite genau zu identifizieren. Also PHP merkt sich die Leute die auf deine Seite kommen, kommen sie wieder und die Session ist noch gültig, bekommen sie die gleiche Session wieder. So lange die Session also gestartet ist auf deiner Seite, behält ein Besucher immer den gleichen Style, den er im Styleswitcher ausgewählt hat. Sollte die "Variable" $_SESSION['style'] nicht gesetzt sein, so wird Ihr der Wert default zugewiesen, also der User bekommt die Datei default.css. So, damit Du weißt, wie das funktioniert, was Du da machst. Ein User kann per GET index.php?style=irgendwas aber auch andere CSS Dateien z.B. einbinden, dessen solltest Du dir in klaren sein (also nicht das Du darauf vertraust das ein User immer schön brav auf deine Links klickt). Und jetzt weiter zum "geparsten" PHP Code: Das "Dingen" was PHP verarbeitet nennt man PHP Parser oder aber auch Interpreter. Hat der Parser den Code verarbeitet, bleibt theoretisch nur HTML übrig, dass dann an den Client, also dem Browser, geschickt wird. Mit anderen Worten: Du sollst dir mal den Quelltext anschauen, wenn Du die Seite im Browser aufrufst. Theoretisch müsste dein Script ohne Probleme funktionieren. Unterstützt dein Webspace überhaupt PHP? Denn PHP läuft Serverseitig, Browser wie Firefox, IE oder Opera können damit erst etwas anfangen, wenn sie es vom Server erhalten.
__________________
CSS-FAQ beantwortet die meisten Fragen | Retro coding gegen Divitis | Code validieren & posten für Hilfe |
|
|||
ich habe das mal auf dem server von einem kumpel ausprobiert und folgendes wird: ?php%20echo%20$_SERVER['PHP_SELF']?%3E?style=style1
an die aktuelle adresse drangehangen und es sieht so aus als ob die seite erneut geladen wird. aber ohne jegliche css formatierung! leider bin ich mit meinem latein hier am ende und daher habe die seite als anhang hochgeladen. gracias, für den support! Zitat:
|
|
||||
Wurde die Datei auch als *.php Datei abgespeichert?
EDIT: Aha, wurde sie nicht. Woher soll der Server wissen, das er nach PHP Code ausschau halten soll und ggf. interpretieren? Du musst das ganze schon als index.php abspeichern.
__________________
CSS-FAQ beantwortet die meisten Fragen | Retro coding gegen Divitis | Code validieren & posten für Hilfe |
|
|||
super, es hat geklappt!
ist möglich die adresszeile so zu gestalten, dass dieser zusatz nicht mit eingefügt wird ../index.php?style=default? danke nochmal. Geändert von alejandro (14.08.2007 um 21:24 Uhr) |
Sponsored Links |
|
||||
Zitat:
Informiere dich zusätzlich über .htaccess Dateien.
__________________
CSS-FAQ beantwortet die meisten Fragen | Retro coding gegen Divitis | Code validieren & posten für Hilfe |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Einbindung von frei erhältlichen Scripten - CSS Problem | DonL | CSS | 1 | 22.01.2011 17:09 |
Css Styleswitcher Problem | just4download | (X)HTML | 11 | 20.06.2010 22:09 |
MYspace mehr als nur CSS oder ? | Vinceone | CSS | 0 | 12.07.2007 03:21 |
Eric Meyer's CSS | Petty | Ressourcen | 0 | 21.11.2005 09:18 |
Mozilla ignoriert externes css | DarkWanderer | CSS | 9 | 22.09.2005 12:39 |