[CSS] Mit PHP in CSS schreiben?

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

  • [CSS] Mit PHP in CSS schreiben?

    Hallo, ich habe eine kurze Frage...
    ist es möglich, aus einer MySQL-Datenbank Daten in eine Css-Datei zu schreiben? Ich versteh das irgenwie nicht so richtig. Das Ziel ist es, dass der Benutzer seine Einstellungen (Hintergrunfarbe usw.) in einer Datenbank ablegt und diese dann in die CSS Datei eingebunden werden.
    In der Suchfunktion habe ich nicht sehr viel gefunden, gibt es da schon Treads?

    Vielen Dank
    Figugeu

  • #2
    hi,
    naja ist eigentlich nicht so schwer ... die daten die im admin bereich eingestellt werden kannste ja nach absenden des formulars in einer variable zu einem stylesheet zusammensetzen, dann öffnest du mit den php-dateifunktionen die datei, schreibst den inhalt der variable in der dein stylesheet steht in die datei und schließt sie wieder ....

    Guck dir die funktion file_put_contents() mal dafür an:
    http://de.php.net/manual/de/function...t-contents.php

    mfG
    CMS-X Medien- und Modelagentur

    Kommentar


    • #3
      @DanielD
      Guck dir die funktion file_put_contents() mal dafür an:
      doch erst ab PHP 5?

      @figugegu
      wenn du das in eine css-Datei schreiben willst, wirst du mit sicherheit probleme durch das browser-caching bekommen, das must du vorher per header-anweisungen komplett abklemmen.
      ansonsten sieh mal nach fopen, fwrite

      gruss
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        <link rel="stylesheet" type="text/css" src="das_userspezifische_stylesheet.php" />

        warum sollte das nicht gehen?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Original geschrieben von mrhappiness
          <link rel="stylesheet" type="text/css" src="das_userspezifische_stylesheet.php" />
          dabei aber richtigen content-type header nicht vergessen.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            [QUOTE]Original geschrieben von Kropff
            @DanielD

            doch erst ab PHP 5?QUOTE]
            und was sollte ihn davon abhalten einen der codeschnipsel für php < 5 zu benutzen von denen darunter 3 an der zahl vorhanden sind ?

            mfG
            CMS-X Medien- und Modelagentur

            Kommentar


            • #7
              Cool, vielen Dank,
              Die Idee von happy funktioniert 1A.

              THX
              Figugegu

              Kommentar


              • #8
                Problem:
                Als ich das testweise versucht habe, klappte es, jetzt irgendwie nicht mehr.

                meine datei style.php sieht in etwa so aus:
                PHP-Code:
                BODY    {
                    
                background-color$background ;
                    
                font-family$type ;
                    
                font-size$size px ;
                    
                font-stylenormal;
                    
                color$typecolor ;

                den Link im index sieht so aus:
                <link rel="stylesheet" type="text/css" src="style.php">

                Was ist da falsch?

                Was meinst Du mit content-type header anpassen?

                vielen Dank

                Kommentar


                • #9
                  du musst in der datei natürlich die vom user eingestellten vorgaben auslesen, also sollte da zumindest mal <?php und ?> vorkommen und eventuell auch noch mysql_connect und co.
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    ja sorry, das ist natürlich schon vorhanden...
                    PHP-Code:
                    $sql "SELECT * FROM settings";
                    $result mysql_query($sql,$db) or die(mysql_error());
                    $myrow mysql_fetch_array($result);

                    while (
                    $myrow mysql_fetch_array($result))                // Loop start
                    {
                    echo 
                    "BODY    {
                        background-color: 
                    $background ;
                        font-family: 
                    $type ;
                        font-size: 
                    $size px ;
                        font-style: normal;
                        color: 
                    $typecolor ;
                    } "

                    aber es geht nicht...

                    Kommentar


                    • #11
                      Ich würde mal folgendes versuchen :

                      PHP-Code:
                      while ($myrow = mysql_fetch_array($result))  {
                      ?>

                      BODY    {  
                      background-color: <?php echo $background?>;
                      font-family: <?php echo $type?>;
                      font-size: <?php echo $size?> px;
                      font-style: normal;
                      color: <?php echo $typecolor?> ;
                      }

                      <?php
                      }
                      Die funktioniert mit Sicherheit.
                      Als Vereinfachung ginge wohl auch :

                      PHP-Code:
                      while ($myrow mysql_fetch_array($result))  {

                      echo 
                      "

                      BODY    {

                      background-color: "
                      .$background." ;
                      font-family: "
                      .$type." ;
                      font-size: "
                      .$size." px ;
                      font-style: normal;
                      color: "
                      .$typecolor." ;
                      } "
                      ;



                      Gruß LinOs

                      Kommentar


                      • #12
                        wo weist du $type und $size denn einen wert zu?

                        du hast $myrow, arbeite damit
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Danke für die Antworten, ich habe aber bemerkt, dass das Problem nicht da liegt, sondern die PHP-Datei wird gar nicht als Style akzeptiert. Wenn ich folgendes mache, geht genauso nichts!!
                          PHP-Code:
                          echo "
                          BODY    {
                              background-color: #CDCDCD;
                              font-family: Verdana, Arial, Helvetica, sans-serif;
                              font-size: 11px;
                              font-style: normal;
                          } "

                          könnt ihr mir helfen?
                          THX

                          Kommentar


                          • #14
                            Original geschrieben von figugegu
                            Was meinst Du mit content-type header anpassen?
                            dass du mal die suche benutzen möchtest.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              wie wärs wenn du dem browser sagen würdest was es für ne datei ist ?
                              PHP-Code:
                              header("Content-type: text/css"); 
                              mfG
                              CMS-X Medien- und Modelagentur

                              Kommentar

                              Lädt...
                              X