• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

php Code in externer CSS Datei

jonathan09

Neues Mitglied
Hey,

um mein Layout einfach dynamisch zu verändern (bei Fehleingaben in Formulare etc), wird mittels PHP der CSS Code verändert. Solange sich dieser innerhalb der eigentlichen php-Datei befindet, kein Problem. Jedoch funktioniert das Auslagern der Datei nicht.
Ich habe folgendes probiert:
HTML:
<link rel="stylesheet" type="text/css" media="screen" href="css/style.php" />
In der style.php:
HTML:
header("Content-Type: text/css");
CSS Code

Leider werden die CSS Angaben von der Datei gar nicht berücksichtigt.

Weiß jemand eine Lösung?

Danke Euch!
 
jonathan09 schrieb:
um mein Layout einfach dynamisch zu verändern (bei Fehleingaben in Formulare etc), wird mittels PHP der CSS Code verändert.

Du könntest per PHP im HTML-Code auch einfach Klassen austauschen/hinzufügen. Ich finde den Ansatz, das CSS umzuschreiben, spontan jedenfalls etwas seltsam. Er dürfte auch verhindern, dass die CSS-Datei gecachet wird, da sie sich ständig verändert.
 
verhindern, dass die CSS-Datei gecachet wird
Das Cachen der CSS kann auch (manchmal) ein Problem sein, wenn man die nämlich ändert und der Browser dennoch die alte nimmt. Ich hab das so gelöst, dass ich meine (eigentlich statische) CSS mit einem Parameter style.css?datum=YYYYMMDD aufrufe und bei Wechsel den Parameter austausche. Zumindest neuere Browser haben die Datei dann so lange im Cache, so lange der Parameter identisch wird. Ich erzeuge auch mittels PHP dynamisch Grafiken <img src=x.php?pos=xxxx"> und so lange xxxx nicht geändert wird, wird die Grafik scheinbar aus dem Cache genommen. Keine Ahnung, warum der Browser manche PHP-Ausgaben im Cache speichert, andere nicht. Aber zumindest dynamisch erzeugte text/html Seiten werden wohl immer vom Server geholt. Zumindest lauert an dieser Stelle sicher eine Gefahr.
 
Die Sache mit dem Parameter (beziehungsweise allgemeiner einem wechselnden URL) ist eine gute Lösung für sowas, ja.

Keine Ahnung, warum der Browser manche PHP-Ausgaben im Cache speichert, andere nicht.

Das dürfte mit den entsprechenden Headern zusammenhängen. Musst mal gucken (etwa im Net-Tab im Firebug), welche für die jeweiligen Ressourcen gesendet werden.

Vielleicht bastelt der Server auch bei PHP-Scripts je nach MIME-Type noch welche dazu. Weiß ich spontan nicht, kann auch Unsinn sein.
 
Hey,

danke für Eure Hilfe! Die Datei darf leider nur intern verfügbar sein - ich habe es aber hinbekommen. Der gepostete Code stimmte, ich habe immer die falsche Datei auf den Server geladen... Ich Depp...

Aber ein anderes Problem musste ich gerade feststellen:
Auf die in der URL per GET übergebenen Variablen greift die style.php leider nicht zu. Woran kann das liegen? Muss diese im selben Verzeichnis wie die Hauptdatei liegen?

Danke euch!
 
Zurück
Oben