Get in CSS

Also auch wenn der Titel etwas komisch klingt, habe ich eine vernünftige Frage.
Nehmen wir mal an, ich rufe eine Datei auf: “index.htm?design=1”. In der index.htm ist ein Link zu einer externen CSS datei.

[code]<?php $design=$_GET['design']; ?>

" type="text/css" rel="stylesheet" />[/code]

Kann ich diese Get-Variable in der CSS-Datei prüfen lassen, oder wird sie nicht erkannt.

Hoffe das mir jemand helfen kann.
MfG mAuLePaN

du kannst das so machen:

und in der style.php:

<?php
$design = $_GET['design'];
header("content-type: text/css"); //Dem Browser sagen, dass es ein CSS-Dokument ist

if(file_exsists("styles/css{$design}.css")) //Wenn die CSS-Datei existiert
  include "styles/css{$design}.css"; //sie includieren
else
  include "styles/css1.css"; //andernfalls die Standard-CSS

wieso so kompliziert… warum geht es nicht mit CSS dateien?

Weil CSS-Dateien nicht ausgeführt werden, und das ist auch gut so :wink:
Man kann Apache anweisen PHP-Code in CSS-Dateien zu parsen, das ist dann letzten Endes jedoch ähnlich kompliziert…

schon, aber es wäre praktischer, da ich so weniger speicherplatz verbrauche, da sich nur die farben ändern.

PS: meinst du das??
AddType application/x-httpd-php .css

Also… würde das nun so gehen wie ich es im ersten beitrag beschrieben habe oder nicht?

Mit AddType ja.

Dann musst du in der CSS-Datei jedoch auch den Header senden und die IF-Abfrage bleibt dir wahrscheinlich auch.

danke

Ich verwende ebenfalls ein dynamisches CSS auf meiner Seite. (Benutzer können die Designfarbe wählen)

Bei mir funktionierts (abgekürzt) wie folgt:

$farbe = $ergebnis['farbe']; //Aus Datenbank jeweilge Farbe ausgelesen als HEX ohne #

echo '<link href="default.css.php?color=<?php echo"$farbe"; ?>" type="text/css" rel="stylesheet" />'

und dann im Css drin:

<?php
$color = $_GET['color'];
header("content-type: text/css"); //Dem Browser sagen, dass es ein CSS-Dokument ist
?>
a {
 color: #<?php echo $color; ?>;
}
h2 {
 color: #<?php echo $color; ?>;
}

usw…

So wird bei mir dann einfach bei den jeweiligen Tags, Klassen oder IDs die dynamische Farbe eingesetzt. Funktioniert gut jedoch ein bisschen langsamer als normale CSS Dateien.
Deshalb habe ich nur die Styles die dynamisch sein sollen in eine einzelne dynamic.css.php verpackt und so wie oben erzeugt und alle Styles die gleich bleiben in eine andere…

mfG
dola