zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden css styleswitcher

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 13.08.2007, 21:19
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 05.10.2005
Beiträge: 152
alejandro befindet sich auf einem aufstrebenden Ast
Standard 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>
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 14.08.2007, 11:59
Benutzerbild von ArcVieh
//
XHTMLforum-Kenner
 
Registriert seit: 19.12.2006
Ort: Gütersloh
Beiträge: 1.845
ArcVieh sorgt für eine eindrucksvolle AtmosphäreArcVieh sorgt für eine eindrucksvolle Atmosphäre
Standard

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
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 14.08.2007, 12:30
Benutzerbild von Loïs Bégué
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 24.06.2007
Ort: Freiburg (D)
Beiträge: 780
Loïs Bégué wird schon bald berühmt werden
Standard

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...)
Mit Zitat antworten
  #4 (permalink)  
Alt 14.08.2007, 14:48
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 05.10.2005
Beiträge: 152
alejandro befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ArcVieh
Existiert denn style1.css, style2.css, default.css, etc?
Wie sieht denn der geparste PHP Code aus?
Zitat:
Zitat von Loïs Bégué
sind die css Dateien auch im gleichen Verzeichnis wie die PHP Datei?
die css dateien existieren und sie liegen auch im gleichen verzeichnis.
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!

Mit Zitat antworten
  #5 (permalink)  
Alt 14.08.2007, 16:36
prm prm ist offline
Benutzer
neuer user
 
Registriert seit: 02.06.2006
Beiträge: 58
prm befindet sich auf einem aufstrebenden Ast
Standard

Ich kenn mich mit PHP nicht so gut aus. Aber musst du nicht alle Styles im Head-Bereich hinterlegen?
Hilft dir das weiter? So habe ich meinen Style-Switcher erfolgreich eingebaut.
Mit Zitat antworten
  #6 (permalink)  
Alt 14.08.2007, 17:42
Benutzerbild von ArcVieh
//
XHTMLforum-Kenner
 
Registriert seit: 19.12.2006
Ort: Gütersloh
Beiträge: 1.845
ArcVieh sorgt für eine eindrucksvolle AtmosphäreArcVieh sorgt für eine eindrucksvolle Atmosphäre
Standard

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
Mit Zitat antworten
  #7 (permalink)  
Alt 14.08.2007, 18:55
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 05.10.2005
Beiträge: 152
alejandro befindet sich auf einem aufstrebenden Ast
Standard

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:
Zitat von http://www.perun.net/2004/1/24/phpsessid-und-der-html-validator/
Gerade gestern habe ich meinem Styleswitcher-Bericht geschrieben, daß bei der Erzeugung eine Session einige Browser die Session-ID an die URL angehängt bekommen. Es sieht unschön aus und der HTML-Validator meckert. Aber es gibt eine Lösung dazu:

ini_set("arg_separator.output","&amp;");

Diese Zeile muß in den Dokumentkopf. Somit überschreibt man die Einstellungen der php.ini aus dem Dokument aus und es wird die HTML-Entity von "&" (Ampersand bzw. kaufmänisches 'und') ausgegeben.
Angehängte Dateien
Dateityp: zip php.style.zip (7,2 KB, 2x aufgerufen)
Mit Zitat antworten
  #8 (permalink)  
Alt 14.08.2007, 19:08
Benutzerbild von ArcVieh
//
XHTMLforum-Kenner
 
Registriert seit: 19.12.2006
Ort: Gütersloh
Beiträge: 1.845
ArcVieh sorgt für eine eindrucksvolle AtmosphäreArcVieh sorgt für eine eindrucksvolle Atmosphäre
Standard

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
Mit Zitat antworten
  #9 (permalink)  
Alt 14.08.2007, 21:18
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 05.10.2005
Beiträge: 152
alejandro befindet sich auf einem aufstrebenden Ast
Standard

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)
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 14.08.2007, 22:28
Benutzerbild von ArcVieh
//
XHTMLforum-Kenner
 
Registriert seit: 19.12.2006
Ort: Gütersloh
Beiträge: 1.845
ArcVieh sorgt für eine eindrucksvolle AtmosphäreArcVieh sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von alejandro Beitrag anzeigen
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.
Apache Webserver bietet ein Modul, dass heißt mod_rewrite, allerdings ist es hier mit einem Grundkurs nicht getan, bzw. ich müsste dazu jetzt zu viel tippen, bitte informiere dich anderweiteig darüber, es gibt dazu viele gute Webseiten im Internet. Schau mal bei tutorials.de und hier im Serveradministrationsbereich.


Informiere dich zusätzlich über .htaccess Dateien.
__________________
CSS-FAQ beantwortet die meisten Fragen | Retro coding gegen Divitis | Code validieren & posten für Hilfe
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ä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


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:01 Uhr.