PHP-Variable in CSS

d-braun

Erfahrenes Mitglied
Hallo,
Nach längerem erfolglosem googeln wende ich mich an euch.
Ich hab auf meiner Homepage 5 verschiedene Styles zur Auswahl welches mittels eines PHP-Scripts in eine Variable gepackt werden. Dann wird das ganze als Cookie gespeichert.
Nun lese ich das Cookie aus und packe den im Cookie gespeicherten Style in eine Variable.

Und hier meine Frage:
Wie sag ich jetzt dem Stylesheet dass er diesen Style nehmen soll. Dazu muss ich die Variable in der CSS-Datei einbinden.
Sollte dann so aussehen:
Code:
background-image: url(styles/ *Hier die Variable* /bg.gif);
Wie bekomme ich das hin?

Danke im voraus.

MFG

Dom
 
Hi d-braun,
wenn ich es richtig verstehe, willst Du eine ausgelagerte CSS-Datei dynamisch gestalten. Ich bin fast sicher, das dies nicht funkt.
Ich persönlich würde das auch nicht über Cookies machen, sondern direkt über das Script.
Also den Style über die URL abfragen, z.B. index.php?style=1

Dann kannst Du im Script per switch die Styles abfragen

Code:
switch ($style) {
    default:
        $image = "images/bild_0.png";
        break;
    case 1:
        $image = "images/bild_1.png";
        break;
    case 2:
        $image = "images/bild_2.png";
        break;
}

$my_css = "background-image: url(${image})";
Je nachdem, ob Du Deine HTML-Ausgabe direkt im Script machst oder an ein Template weiterreichst, kannst Du nun diese Variable weiterverarbeiten.

Übrigens ist das eine Frage für die PHP-Abteilung.

Einen schönen Tag noch wünscht
coral
 
Natürlich kann mam ausgelagerte CSS Dateien dynamisch erstellen.

style.css.php
PHP:
header("Content-type: text/css");

echo '.test
{
   background-image: url(pfad/zum/bild.jpg);
}';

#...

Wie man das Auswahlverfahren macht, ist einem selbst überlassen. Cookies würde ich auch nicht verwenden. Eher Sessions, oder eben die GET Variante.
 
@fanste:
Ja, okay, das ist klar. Nur, wie wird das ganze denn eingebunden bzw. wie werden die Variabeln weitergeleitet? d-braun hat ja nun schon eine ausgelagerte CSS-Datei (vorausgesetzt, ich habe ihn richtig verstanden).
Würde mich nun doch mal interessieren.

Einen schönen Tag noch wünscht
coral
 
Gumbo hat gesagt.:
Ich würde eher mit fünf verschiedenen Stylesheets arbeiten als mit PHP.

Das klingt noch am einfachsten, wie ich finde. Ist auch nicht wirklich mehr Arbeit, da man ja eh alles per copy & paste regeln kann.
Und die entsprechende PHP-Abfrage wäre auch einfach.

Einen schönen Tag noch wünscht
coral
 
Gumbos Vorschlag ist natürlich zu empfehlen, wenn du die Stylesheets nicht aus einer DB zusammenstellst, oder sonst irgendwie dynamisch erstellen musst, sondern diese schon fertig auf dem Webspace liegen würden.
 
Mein Vorschlag hätte zudem den Vorteil, dass die Dateien im Browser-Cache gespeichert werden können. Zwar ist es mit PHP auch möglich, dazu die entsprechenden Header-Felder zu setzen – doch wozu es so kompliziert machen?
 
Zurück