Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Warum gehen die Variablen in der PHP CSS nicht?

Mitglied: Jeeroy

Jeeroy (Level 1) - Jetzt verbinden

02.08.2011, aktualisiert 15:36 Uhr, 5888 Aufrufe, 10 Kommentare

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:
01.
<link rel="stylesheet" type="text/css" href="<? echo $pfad_css_long; ?>style.php" />
Meine style.php sieht derzeitig so aus:

01.
<?php
02.
header("Content-type: text/css");
03.
$header_bgcolor = "#000";
04.
?>
05.
}
06.
body {
07.
            background-color: #eee;
08.
}
09.

10.

11.

12.
.header {
13.
            background-color: #555;
14.
            border: 1px solid #000000;
15.
}
16.

17.
		
18.
.navi {
19.
            background-color: <? echo $header_bgcolor; ?>;
20.
            border: 1px solid #000000;
21.
}
22.
Die CSS ist noch sehr kurz, zum testen.
Warum in Zeile 5 ein } ist....
Komischerweise wird dann der erste Abschnitt
01.
body {
02.
            background-color: #eee;
03.
}
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
Mitglied: ganymed
02.08.2011 um 16:31 Uhr
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
01.
<html>
02.
<head>...
03.
<?php include 'style.php';?>
04.
...
style.php
01.
<style type="text/css">
02.
<!--
03.
...
04.
.navi {
05.
          background-color: <? echo $header_bgcolor; ?>; 
06.
          border: 1px solid #000000; 
07.
} 
08.
...
09.
-->
10.
</style>
Was ich jetzt noch nicht aufgenommen habe ist das füllen der Variable $header_bgcolor. Dafür stehn die ...
Bitte warten ..
Mitglied: Jeeroy
02.08.2011 um 16:38 Uhr
Hmm, ich habe gerade in diesem Augenblick rausbekommen, dass wenn ich in meiner verlinkung, also:

01.
<link rel="stylesheet" type="text/css" href="<? echo $pfad_css_long; ?>style.php" />
einfach das PhP wegnehme sprich:
01.
<link rel="stylesheet" type="text/css" href="css/style.php" />
Dann funktioniert es,...

Ich habe es überall so gelesen, dass es so mit den headern gemacht wird.
Bitte warten ..
Mitglied: Valume91
02.08.2011 um 16:46 Uhr
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:
01.
<?php
02.
include $pfad_css_long. 'style.php';
03.
?>
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
Bitte warten ..
Mitglied: Valume91
02.08.2011 um 16:49 Uhr
Hopala, Beitrag von ganymed war noch nicht das als ich zu schreiben begonnen habe ;)
Bitte warten ..
Mitglied: ganymed
02.08.2011 um 17:01 Uhr
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.
Bitte warten ..
Mitglied: ganymed
02.08.2011 um 17:04 Uhr
Hallo Valume,
macht ja nichts mir geht das auch oft so.
Bitte warten ..
Mitglied: dog
02.08.2011 um 18:23 Uhr
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...
Bitte warten ..
Mitglied: Jeeroy
03.08.2011 um 07:52 Uhr
Guten Morgen,

@dog: Was für Debug-Tools könntest du empfehlen?

@Valume91 & ganymed: Hier steht das ganz gut Beschrieben:

http://www.webmasterpro.de/coding/article/php-in-css-dss-dynamic-style- ...


Trotzdem verwundert mich das sehr, dass es zu Problemen führte wenn ich
01.
<link rel="stylesheet" type="text/css" href="<? echo $pfad_css_long; ?>style.php" />
genommen habe.
Ich habe die Variable $pfad_css_long mal ausgeben lassen und sie beinhaltet:

D:/xampp/xampp/htdocs/minimax/mx_wcms/css/

Außerdem funktionierte die CSS ja zum Teil, Border und Farben wurden erkennt nur halt keine Variablen und es wurde erst ab der ersten } gearbeitet.

Mit dem Link funktioniert alles gut:
01.
<link rel="stylesheet" type="text/css" href="css/style.php" />

Liebe Grüße
Bitte warten ..
Mitglied: ganymed
03.08.2011 um 08:45 Uhr
Hallo,

eigentlich müsste da doch „http://localhost/minimax/mx_wcms/css/" “ , „./css/“ oder css/ verwendet werden.
Bitte warten ..
Mitglied: Jeeroy
03.08.2011 um 09:00 Uhr
*hehe

Da hast du wohl recht.
Da habe ich nicht bei der Pfadvergabe aufgepasst, danke ;)!

Stunden suchen wegen eines kleinen dummen Fehlers...
Bitte warten ..
Ähnliche Inhalte
CSS

CSS in PHP einbinden, Überschrift bekommt "style" nicht

Frage von KatalinaCSS7 Kommentare

Hallo, versuche gerade css in php einzubinden, das klappt auch soweit. Das einzige was nicht klappt ist das die ...

PHP

PHP, HTML, CSS Files online berabeiten und verwalten

Frage von ischbindebaetmaenPHP2 Kommentare

Moin Admins, ich suche nach einer Möglichkeit um PHP HTML und CSS Files online zu bearbeiten und zu verwalten. ...

HTML

CSS 3 - "viewport" Kein gültiges CSS?

gelöst Frage von ukodusHTML2 Kommentare

Hey Leute, gerade hab ich den Code (@viewport { }) durch den CSS-Überprüfer ) durchgejagt und er entgegnete: "Einlese-Fehler ...

CSS

CSS Problem

gelöst Frage von michi1983CSS2 Kommentare

Hallo Admins, eventuell kann mir ja hier einer weiterhelfen, ich stehe offenbar auf der Leitung. Auf folgender Website (die ...

Neue Wissensbeiträge
Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Information von ChriBo vor 1 TagFirewall1 Kommentar

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 2 TagenInternet1 Kommentar

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 2 TagenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 2 TagenGoogle Android3 Kommentare

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Heiß diskutierte Inhalte
Linux Userverwaltung
LogIn Versuche beschränken auf EINEN Versuch
gelöst Frage von GarroshLinux Userverwaltung23 Kommentare

Folgendes Problem Ich habe einen dezidierten Server beim Hoster gemietet, installiert ist Ubuntu 18.04.2 LTS‬ und als Webinterface Plesk. ...

Backup
Wo installiert man Veeam bei SoHo?
Frage von EDVMan27Backup14 Kommentare

Hallo, nachdem ich die neue Veeam CE bei mir getestet habe, wollte ich es einmal bei einem Kunden testen. ...

Batch & Shell
Tasklist überprüfen
Frage von IleiesBatch & Shell10 Kommentare

Hallo zusammen, Wie kann ich in Batch überprüfen, ob gerade der Prozess "Skype.exe" ausgeführt wird? Also nicht so dass ...

Backup
Sicherung auf externe RDX Festplatten (oder auf USB 3.0) mit Veeam Agent for Microsoft
gelöst Frage von mike7050Backup9 Kommentare

Hallo, ich sichere immer auf RDX Wechselfestplatten mit der Accuguard Software. Gesichert wird eine Windows Server 2008 R2. Einmal ...