Warum gehen die Variablen in der PHP CSS nicht?
Hey ich probiere eine php Datei zu erstellen, die als CSS Datei genommen wird, doch treten da dauernd Fehler auf.
Wichtig ist für mich, dass ich die Farben später aus der SQL Datenbank rauslesen kann, sodass ich sie in einem Backend immer ändern kann.
Deswegen wollte ich PHP in meiner CSS Datei haben, also eine PHP Datei, die als CSS Datei dient.
Eingelesen wird sie so und natürlich im <head> Bereich:
Meine style.php sieht derzeitig so aus:
Die CSS ist noch sehr kurz, zum testen.
Warum in Zeile 5 ein } ist....
Komischerweise wird dann der erste Abschnitt
auch mit Berücksichtigt, habe ich in Zeile 5 das } nicht, startet er erst nach body { }.
In Zeile 19 übernimmt er nicht die Farbe aus der Variable (#000), sondern lässt es weiß.
Ich versteh das nicht, habe schon viel im Internet geguckt und die haben das da genau so???
Bitte um Hilfe
Wichtig ist für mich, dass ich die Farben später aus der SQL Datenbank rauslesen kann, sodass ich sie in einem Backend immer ändern kann.
Deswegen wollte ich PHP in meiner CSS Datei haben, also eine PHP Datei, die als CSS Datei dient.
Eingelesen wird sie so und natürlich im <head> Bereich:
<link rel="stylesheet" type="text/css" href="<? echo $pfad_css_long; ?>style.php" />
Meine style.php sieht derzeitig so aus:
<?php
header("Content-type: text/css");
$header_bgcolor = "#000";
?>
}
body {
background-color: #eee;
}
.header {
background-color: #555;
border: 1px solid #000000;
}
.navi {
background-color: <? echo $header_bgcolor; ?>;
border: 1px solid #000000;
}
Die CSS ist noch sehr kurz, zum testen.
Warum in Zeile 5 ein } ist....
Komischerweise wird dann der erste Abschnitt
body {
background-color: #eee;
}
In Zeile 19 übernimmt er nicht die Farbe aus der Variable (#000), sondern lässt es weiß.
Ich versteh das nicht, habe schon viel im Internet geguckt und die haben das da genau so???
Bitte um Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 170820
Url: https://administrator.de/contentid/170820
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo,
meiner bescheidenen Meinung nach wird deine style.php überhaupt durch den PHP Parser verarbeitet.
Der zweite Fehler aus meiner Sicht ist, dass du versuchst einen header zu senden.
Dieser ist bereits gesendet und zwar in deiner html Datei vor dem öffnenden <html> also lange vor dem einbinden deines stylesheets.
Was du aber machen kannst ist folgendes.
index.php
style.php
Was ich jetzt noch nicht aufgenommen habe ist das füllen der Variable $header_bgcolor. Dafür stehn die ...
meiner bescheidenen Meinung nach wird deine style.php überhaupt durch den PHP Parser verarbeitet.
Der zweite Fehler aus meiner Sicht ist, dass du versuchst einen header zu senden.
Dieser ist bereits gesendet und zwar in deiner html Datei vor dem öffnenden <html> also lange vor dem einbinden deines stylesheets.
Was du aber machen kannst ist folgendes.
index.php
<html>
<head>...
<?php include 'style.php';?>
...
style.php
<style type="text/css">
<!--
...
.navi {
background-color: <? echo $header_bgcolor; ?>;
border: 1px solid #000000;
}
...
-->
</style>
Was ich jetzt noch nicht aufgenommen habe ist das füllen der Variable $header_bgcolor. Dafür stehn die ...
Moin Jeeroy
Wo hast du den das so gesehen?
Belehrt mich eines besseren aber so sieht das für mich schaurig aus (php datei so einzubinden; css in der php datei).
Deshalb hier mein Vorschlag:
1. Definiere dein CSS in der PHP Datei mit den HTML Style Tags (Wie das geht hier )
2. Binde die PHP Datei anschliessen per include ein.
In deinem Fall:
So ist es dir auch möglich an stelle der Farbe eine Variable einzusetzten.
Eventuell funktioniert es auch noch einfacher.
Ich hoffe dir behilflich gewesen zu sein.
MfG Valume
Wo hast du den das so gesehen?
Belehrt mich eines besseren aber so sieht das für mich schaurig aus (php datei so einzubinden; css in der php datei).
Deshalb hier mein Vorschlag:
1. Definiere dein CSS in der PHP Datei mit den HTML Style Tags (Wie das geht hier )
2. Binde die PHP Datei anschliessen per include ein.
In deinem Fall:
<?php
include $pfad_css_long. 'style.php';
?>
So ist es dir auch möglich an stelle der Farbe eine Variable einzusetzten.
Eventuell funktioniert es auch noch einfacher.
Ich hoffe dir behilflich gewesen zu sein.
MfG Valume
Hab mal google gefragt und siehe da auch ich habe links dazu gefunden und somit was dazu gelernt.
href="css/style.php" soll wohl so funktionieren.
Ich selbst habe das noch nie so gemacht, weiß aber mit Sicherheit, dass meine angedeutete Lösung funktioniert.
Einzige Idee die ich jetzt noch habe ist, dass in deiner Variable $pfad_css_long nicht das drin steht was du dort erwartest.
href="css/style.php" soll wohl so funktionieren.
Ich selbst habe das noch nie so gemacht, weiß aber mit Sicherheit, dass meine angedeutete Lösung funktioniert.
Einzige Idee die ich jetzt noch habe ist, dass in deiner Variable $pfad_css_long nicht das drin steht was du dort erwartest.
Dieser ist bereits gesendet und zwar in deiner html Datei vor dem öffnenden <html> also lange vor dem einbinden deines stylesheets.
Bitte was?!
Der TO bindet die CSS-Datei über HTML-Links ein, dass sind zwei völlig verschiedene Requests!
<?php include 'style.php';?>
genauso die "Lösung" von Valume91
Nein, niemals!
Das würde das Stylesheet direkt ins HTML einbetten und das ist ein riesiger Performance-Fehler.
Es gibt übrigens für jeden Browser mittlerweile tolle Debug-Tools...