PHP externes CSS in PHP Datei einbinden

blindfoxx

Lieutenant
Registriert
Jan. 2002
Beiträge
766
Hallo Community,
ich sitze jetzt schon einige Stunden an folgendem Problem:

Ich habe eine PHP-Seite mit einem Kontaktformular. Diese stammt von einem kostenlosen Anbieter.
Nun möchte ich diese im Design an den Rest der Homepage (Bootstrap) anpassen.
Ich habe also die Tabellenstruktur der Vorlage in Container und Formularfelder umgeschrieben.
Die Seite funktioniert auch wunderbar, nur das Layout will nicht.
Leider bekomme ich es nicht gebacken die externe CSS-Datei einzubinden.

Hier mal der strukturelle Aufbau der PHP-Seite:
PHP:
<?php
...
//hier steht der PHP-Code für die Formularauswertung
...
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="de">
<head>
<title>Kontaktformular</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta http-equiv="content-script-type" content="text/javascript">
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
...
//hier ist das Script für die Captcha-Grafik
...
</script>
</head>
<body>
<div class="container">
<form class="form-group">
...
...
//hier folgt der Code für die Formularfelder
...
...
</form>
</div>
</body>
</html>
<?php
.
//eine PHP Funktion
.
?>
Ich habe den Verweis zur style.css in den <head>-Bereich des HTML-Teils geschrieben.
Die Datei style.css befindet sich im gleichen Ordner wie die PHP-Datei.
Leider funktioniert das CSS so nicht.
Ich habe als nächsten Ansatz (nach etwas googeln) den Verweis zur CSS-Datei mit folgendem Code hinter das erste "<?php"-Tag gesetzt:
PHP:
<?php
echo '<link rel="stylesheet" type="text/css" href="style.css">';
...
...
Natürlich hatte ich den Verweis im <head>-Bereich entfernt.
Leider bringt das auch keinen Erfolg.

Was hab ich übersehen oder was mache ich hier falsch?


Danke im Voraus,

​--blindfoxx
 
Die 1. Variante ist faktisch genau daselbe wie die 2. - das bringt also nix wenn die 1. Variante schon nicht klappt.
Der type="text/css" wird nicht benötigt um ein CSS zu laden.

Was sagt die F12 Konsole des Browsers? Lädt das Kontakt-Formular evtl in einem Iframe und Du müsstest für das CSS einen absoluten Pfad verwenden?
 
Zuletzt bearbeitet:
-- sorry, habe mich verlesen --
 
Lawnmower schrieb:
Die 1. Variante ist faktisch genau daselbe wie die 2. - das bringt also nix wenn die 1. Variante schon nicht klappt.
Der type="text/css" wird nicht benötigt um ein CSS zu laden.

Variante 2 erzeugt halt ziemlich kaputtes HTML... wobei die Browser ja ganz gut im raten sind ;-) war halt nur ne Vermutung mit dem type um das auszuschließen. Ich setz bei der Fehlersuche gern auf korrekten Code auf um auszuschließen dass die Browser einfach nur mal zur Abwechslung falsch raten was man eigentlich gemeint hat...

Was auch noch interessant wäre ob irgend welche Rewrite Rules auf dieses Verzeichnis wirken die das Laden verhindern könnten.
 
Zuletzt bearbeitet:
Ja, genau das war das Problem.

Ich bin da wohl etwas blauäugig ran gegangen und hab nicht alles im ersten Post geschrieben.

Inzwischen hab ich mich auf die CSS-Datei konzentriert, da der HTML-Code eigentlich nicht wirklich falsch ist. Und genau da lag der "Hase im Pfeffer".
Die PHP-Seite ist als eine externe Seite in ein CMS (Xoops) eingebunden gewesen. Leider hat Sie vom Layout nicht reingepasst. Daher mein Versuch vom Tabellen-Layout zum Bootstrap zu wechseln.
Dummerweise nutzt das CMS eine ganze Reihe von CSS-Dateien die natürlich auch im <head>-Bereich eingebunden werden müssen. Ich war von nur einer ausgegangen. Dumm von mir, war aber zugegebenermaßen nicht richtig dokumentiert. Ein Blick in den Quellcode der Index-Seite hat mir dann aber gezeigt, dass ganze drei CSS-Dateien verlinkt werden müssen.
Lange Rede, kurzer Sinn:
Ich hab die anderen beiden CSS-Dateien (bootstrap.min.css und reset.css) verlinkt und alles sieht aus wie ich es wollte.

Ich bedanke mich bei allen die mir geantwortet haben und mich mit den richtigen Denkanstößen versorgt haben.

​--blindfoxx

Nachtrag
Zum Thema veraltetes HTML: Ich nutze seit Jahren PSPad zum editieren fürs Web, Windows und Linux. Ich hab mich an dieses nützliche Tool sehr gewöhnt. Der HTML-Standart 4.01 ist dort Standart (auch in der aktuellen Version).
Könnt Ihr da Alternativen empfehlen?
 
Zuletzt bearbeitet: (Nachtrag)
blindfoxx schrieb:
Nachtrag
Zum Thema veraltetes HTML: Ich nutze seit Jahren PSPad zum editieren fürs Web, Windows und Linux. Ich hab mich an dieses nützliche Tool sehr gewöhnt. Der HTML-Standart 4.01 ist dort Standart (auch in der aktuellen Version).
Könnt Ihr da Alternativen empfehlen?

Stell HTML5 ein.
 
Gegen den Editor spricht nichts und man kann dem seine Templates glaub ich auch bearbeiten. Aktuell ist halt HTML 5 das einen anderen Doctype nutzt und dafür auch mehr Möglichkeiten bietet. Prinzipiell ist das den Browsern zwar ziemlich egal, der Doctype den du aber gerade drin hast aktiviert in den Browsern noch einen extra Legacy-Ratemodus (Quirks Mode). Bei HTML 5 muss es einfach nur <!DOCTYPE html> sein.
 
Zurück
Oben