Ankündigung

Einklappen
Keine Ankündigung bisher.

php in css

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php in css

    Tach

    ist es nicht möglich, in einer CSS Datei PHP Befehle etc zu schreiben und das ganze funktioniert?

    Ich hab mal folgendes probiert:

    PHP-Code:
    <?php
        
    if(isset($_SESSION['firma'])) {
            
    $sql "SELECT
                        *
                    FROM
                        firma
                    WHERE
                        firma_id = '"
    $_SESSION['firma'] ."';";   
            
    $result mysql_query($sql) OR die(mysql_error());
            
    $row mysql_fetch_assoc($result);
            
    $color $row['farbe'];
        } else {
            
    $color "#F28A00";
        }
    ?>

    select.login {
        border:            2px solid #000000;
        color:            <?php echo $color?>;
        background:        #FFFFFF;
            font-size:        8pt;
    }
    Doch irgendwie funktioniert es nicht. Die Seite wird um eine Zeile nach unten versetzt und die Farbe ist dann schwarz oO

    hoff ihr könnt mir helfen.

    mfg

  • #2
    kannst ja einfach das gesamte css über einen echo oder print ausgeben, dann sollte es gehen.
    :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

    Kommentar


    • #3
      Sollte auch so gehen.
      Schau Dir die Ausgabe des Skripts mal direkt an.

      Die Seite wird um eine Zeile nach unten versetzt
      hu? Wie bindest Du das CSS in Dein HTML Dokument ein?

      Kommentar


      • #4
        wie die Ausgabe direkt anschauen?!

        Ich binde die CSS so ein
        -->
        PHP-Code:
          <link rel=stylesheet type="text/css" href="css/main.css"
        Vorher ohne PHP ging ja alles, nur die modifizierte Version mit PHP will nicht :/

        soll ich die umschreiben damit ich dann ne PHP hab und diese mit # require 'css/main.php' # einfügen?

        Kommentar


        • #5
          Ist der php Interpreter für die Datei css/main.css zuständig?
          Das heißt in der Regel: ist die Dateiendung .css mit php verknüpft? Oder alle Dateien im Verzeichnis css?

          Kommentar


          • #6
            Ich glaub ich weiss warum es nicht funktioniert :/ ist ja css file und keine php, also müsste ich diese umschreiben in php und diese dann includen bzw mit require einfügen. Versuch ich mal, danke

            edit
            @ Bruchpilot: Jo der versteht die php befehle nicht. Wie auch, ist ne CSS Datei, hab mal wieder dumm gedacht danke

            Kommentar


            • #7
              mach es so. mach eine Datei stylesheet.php mit folgendem Inhalt:
              PHP-Code:
              <?php

              echo '<style type="text/css">';
              echo 
              '<!--';
                  if(isset(
              $_SESSION['firma'])) {
                      
              $sql "SELECT
                                  *
                              FROM
                                  firma
                              WHERE
                                  firma_id = '"
              $_SESSION['firma'] ."';";   
                      
              $result mysql_query($sql) OR die(mysql_error());
                      
              $row mysql_fetch_assoc($result);
                      
              $color $row['farbe'];
                  } else {
                      
              $color "#F28A00";
                  }

              echo 
              'select.login {\n';
              echo 
              '  border:         2px solid #000000;\n';
              echo 
              '   color:         <?php echo $color; ?>;\n';
              echo 
              '   background:      #FFFFFF;\n';
              echo 
              '        font-size:      8pt;\n';
              echo 
              '}\n';
              ?>
              und diese bindest du dort ein wo du halt das Stylesheet brauchst mit
              PHP-Code:
              <?php
              include('stylesheet.php');
              ?>
              echo muss vileicht noch überarbeitet werden aber sollte gehen

              edit: sorry da war ich wol wieder zu langsam
              :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

              Kommentar


              • #8
                Das geht schon so, wie es HK gemacht hat.
                Nur für den Fall, dass noch jemand mit einem ähnlichenm problem das hier später liest:
                Entweder die Webserverkonfiguration anpassen. Oder einfacher: main.css in main.php umbenennen (ansonsten aber nicht ändern) und dann
                <link rel=stylesheet type="text/css" href="css/main.php">

                Eventuell noch main.php einen expire header ausgeben lassen, damit sich die externe css Datei auch wirklich lohnt

                Kommentar


                • #9
                  oder einfach ne css.php machen und als header "text/css" mitsenden.

                  Kommentar


                  • #10
                    include würde ich eher nicht in dem Fall benutzen. Lieber require

                    obwohl, an sich isses nicht wirklich schlimm, falls er die Datei nicht findet. Dann is hald alles weng komisch aber die Scripte gehn. Naja ich bevorzug trotzdem require

                    Kommentar


                    • #11
                      Zitat von Buhmann
                      oder einfach ne css.php machen und als header "text/css" mitsenden.
                      Ist doch schon egal bei <link txpe="text/css"...>
                      Oder welcher Browser stellt sich da schon wieder quer/dumm?

                      Kommentar


                      • #12
                        dann nimmste halt require() wenn er es nicht finden würde, würde das script nicht weiter "laufen"
                        :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

                        Kommentar


                        • #13
                          Warum den css Block in die HTML Datei einbinden?
                          Das Ziel von CSS ist es doch gerade, diese Art von Angaben möglichst davon zu trennen.
                          <link ...> ist super.

                          Kommentar


                          • #14
                            hmm aber ein großen unterschied macht es eigentlich nicht oder? Auf jeden Fall versuch ich noch die version mit der php datei aber mit dem link dann anstatt dem include / require

                            Kommentar


                            • #15
                              Ich löse das z.B. immer so:

                              default.css.php
                              PHP-Code:
                              <?php
                              include "inc.constants.php";
                              header("Content-type: text/css"); // sonst meckert Mozilla insgeheim
                              ?>
                              body {
                                background: url(<?php print _DOCROOT _IMG ?>background.jpg);
                              }
                              Für mich macht das nur Sinn, da Mozilla und IE die Pfade anders interpretieren:
                              Der IE geht von der HTML-Datei, die die CSS-Datei includet, aus und sucht die Dateien (Bilder) die im CSS genannt werden,
                              Mozilla geht von der CSS-Datei aus und sucht die Bilder (oder umgekehrt).
                              Wenn nun CSS-Datei und HTML-Datei in verschiedenen Verzeichnis-Tiefen liegen, muss man im CSS absolute Pfade verwenden, sonst baut einer der Browser Murgs!

                              Kommentar

                              Lädt...
                              X