[CSS] Mit PHP in CSS schreiben?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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

    Comment


    • #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

      Comment


      • #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...

        Comment


        • #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.

          Comment


          • #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

            Comment


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

              THX
              Figugegu

              Comment


              • #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

                Comment


                • #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...

                  Comment


                  • #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...

                    Comment


                    • #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

                      Comment


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

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

                        Comment


                        • #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

                          Comment


                          • #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.

                            Comment


                            • #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

                              Comment

                              Working...
                              X