css in php-dabei wird auf Webserver nicht erkannt. Aber auf XAMPP geht es.

  • Hallo,


    ich habe zu diesem Thema schon viel gegoogelt und auch ein paar Lösungsvorschläge gefunden, die haben aber alle nicht funktioniert.


    Ich hoffe dass es hier im php Bereich richtig ist, vll ist es aber auch ein Serverproblem.


    Meine Website betreibe ich bei Strato (habe das PowerWeb Starter Paket)


    So jetzt zu meinem Problem:


    Als ich meine Seite mit XAMPP getestet habe lief alles einwandfrei. Als ich die Seite dann per FTP bei Strato hochgeladen habe funktioniert zwar die Seite, aber dass CSS (ist in einer .php date damit ich includes und variablen benutzen kann) wird nicht mehr erkannt.


    Jetzt meine Frage:
    Habe ich da im Code was falsch gemacht oder liegt das Problem nur an dem Start server?


    Hier im Anhang mal meine Dateien:
    index.php
    styles_index.php
    Struktur auf Webserver


    Hoffe ist alles verständlich und danke schonmal für die Antworten

  • Das problem ist, dass Du vor dem header() etwas ausgibts.
    Der browser bekommt das so:


     sagt mir, dass da was nicht stimmt ... offensichtlich :P


    Entferne den Kommentar vor dem PHP header('Content-type: text/css')
    Oder stelle ihn in PHP.


    Alles was NICHT in PHP tags steht, wird direkt ausgegeben. Also an den Browser geschickt.
    Dadurch ist das setzen des Headers nicht mehr möglich.

  • Ok habe ich gemacht. Hat der nichts gebracht. Aber ich habe hier gerade was gesehen. rechts steht MIME-typ text/html könnte dass das Problem sein? wenn ja wie kann ich das ändern.


    Bild im Anhang

  • ist immernoch drin:


    Nicht auf Resourcen nachsehen - der Browser akzeptiert den Inhalt nicht. Daher ist das auch leer.
    Unter Network findest Du alles, was übertragen wurde.


    Siehe: network -> styles_index.php -> (tab) response

  • Bei mir wird Folgendes angezeigt:


    [Blockierte Grafik: http://img5.fotos-hochladen.net/uploads/unbenannt78noimsupq.png]


    [Blockierte Grafik: http://img5.fotos-hochladen.net/uploads/unbenannt2qwjt2mbda0.png]


    Unter Antwort ist folgender Code:




    Hast du vielleicht noch ein Leerzeichen o.ä. vor dem PHP-Block?


    Das verwirrt mich gerade ziemlich:

    PHP
    (output started at /mnt/web013/c1/42/56970742/htdocs/css/styles_index.php:1) in /mnt/web013/c1/42/56970742/htdocs/css/includes_css/variablen.php on line 2
  • Ich sehe gerade auf der Seite, dass es jetzt wohl geht.


    Das Problem war vlt eine andere Datei - die index.php vlt?


    Schon ein Leerzeichen vor dem <?php könnte das sein

    PHP
    <?php
    // ^ leerzeichen vor <?php wird ausgegeben BEVOR header gesetzt wird:
    
    
    
    
    header('Content-type: text/css');
    // ...


    EDIT: auch Leerzeichen NACH dem ?> können Probleme machen.
    Ich hab vor ca. 1 Jahr gelernt: ?> am Ende des PHP Files wird nicht mehr genutzt.


    Warum:


    Hier bekommt der Browser am Ende des Files (am Ende des PHP Codes) 2 Leerzeichen.
    Um genau das zu verhindern, lassen wir das ?> einfach weg:


    und PHP erkennt "oh, das file ist zu ende. hier kann ich aufhören".
    Der Knackpunkt hier ist: die Leerzeichen landen in PHP, statt in HTML (-Bereich).
    Leere Zeilen in PHP sind keine Ausgabe.

    2 Mal editiert, zuletzt von cottton () aus folgendem Grund: bsp code <?php verpatzt :x

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!