Jürgen: Ein bestimmtes Formular erstellen

Hallo!!!

Ich möchte ein PHP Formular erstellen das wie folgt aufgebaut werden soll. Ein User soll die möglichkeit haben in einem Formular sein eigenes CSS Style Sheet zu erstellen und das dann nachher auch noch als externes Style Sheet auf dem Server gespeichert wird. Er sollte hier mal beim beispiel textarea angeben können welche Schrift er/sie benutzen will, welches Bild in die textarea integriert werden soll oder welche Farbe es hat.

TEXTAREA {BACKGROUND: green url(http://www.lucasabi04.de/ciao/sunflower.jpg); FONT-FAMILY: "Verdana"; FONT-SIZE: 10pt; FONT-WEIGHT: bold; input: "Verdana"
}

---------------------------------

Oder auch hier eigene Farbeinstellungen durchführen zu können.

A:link { text-decoration: underline; color: #01D831 }
A:visited { text-decoration: underline; color: #01CB2F }
A:active { text-decoration: underline; color: white}

---------------------------------

Wie kann ich das via PHP machen???

  1. Hallo!

    Ich möchte ein PHP Formular erstellen das wie folgt aufgebaut werden soll.

    Prima!

    Wie kann ich das via PHP machen???

    Wobei hast Du denn genau Probleme? Was hast Du bisher?

    Dateien schreiben(egal ob .css, .txt oder .html...) kannst Du mit fopen und fwrite
    http://www.php3.de/manual/de/function.fopen.php
    http://www.php3.de/manual/de/function.fwrite.php

    Vielleicht hilft auch: http://www.dclp-faq.de/ch/ch-open_exec.html
    http://www.dclp-faq.de/q/q-formular-textarea.html
    http://www.dclp-faq.de/ch/ch-webvariablen.html

    Grüße
    Andreas

  2. Hallo Jürgen,

    Ich möchte ein PHP Formular erstellen das wie folgt aufgebaut werden soll. Ein User soll die möglichkeit haben in einem Formular sein eigenes CSS Style Sheet zu erstellen und das dann nachher auch noch als externes Style Sheet auf dem Server gespeichert wird. Er sollte hier mal beim beispiel textarea angeben können welche Schrift er/sie benutzen will, welches Bild in die textarea integriert werden soll oder welche Farbe es hat.

    wo liegt das Problem? Du musst die Inhalt der Formularfelder eben auslesen (mit $_POST["feldname"]) dann zu einer css-Datei zusammenbasteln, diese Datei dann erzeugen (mit fopen() -> http://php.net/de/fopen), mit fwrite() das Zeug reinschreiben, und die Datei mit fclose() wieder schließen. Aber nicht vergessen dem Verzeichnis, in dem die Dateien abgelegt werden sollen vorher entsprechende Zugriffsrechte zu erteilen.

    TEXTAREA {BACKGROUND: green url(http://www.lucasabi04.de/ciao/sunflower.jpg); FONT-FAMILY: "Verdana"; FONT-SIZE: 10pt; FONT-WEIGHT: bold; input: "Verdana"
    }

    na, dass würde ich aber nicht als gültiges css durchgehen lassen, aber gut... :-)

    A:link { [...] }
    A:visited { [...] }
    A:active { [...]}

    kein :hover?

    Wie kann ich das via PHP machen???

    wo jetzt das Problem genau liegt, weiß ich nicht - das solltest du vielleicht mal etwas genauer erläutern.

    Grüße aus Nürnberg
    Tobias

    1. na, dass würde ich aber nicht als gültiges css durchgehen lassen, aber gut... :-)

      Nein, das waren nur Beispiele

      wo jetzt das Problem genau liegt, weiß ich nicht - das solltest du vielleicht mal etwas genauer erläutern.

      Ich weiß nicht wie ich so ein Formular erstelle und wie ich genau diese werte an diese stelle mittels PHP setzen kann.

      Grüße aus Langenfeld,
      Jürgen

      1. Hi!

        wo jetzt das Problem genau liegt, weiß ich nicht - das solltest du vielleicht mal etwas genauer erläutern.
        Ich weiß nicht wie ich so ein Formular erstelle

        Ohweh, dann solltest Du dringend erstmal SELFHTML lesen, z.B.: http://selfhtml.teamone.de/html/formulare/index.htm

        und wie ich genau diese werte an diese stelle mittels PHP setzen kann.

        • welche Werte
        • welcher Stelle
        • was heißt "setzen"?

        Grüße
        Andreas

        1. Ohweh, dann solltest Du dringend erstmal SELFHTML lesen, z.B.: http://selfhtml.teamone.de/html/formulare/index.htm

          Das ist mir klar. aber...

          • welche Werte
          • welcher Stelle
          • was heißt "setzen"?

          ... ich weiß nicht wie ich eine auswahl machen kann und dann meinetwegen ausgewählte farben an bestimmte stellen der *.css datei kommen. Also wie man vorhandene Farben ersetzt.

          1. Hi!

            ... ich weiß nicht wie ich eine auswahl machen kann

            Wer soll das außer Dir wissen? Willst Du eine TExtarea fpr die CSS.Date machen, oder checkboxen Selectfelder... um sich so eine css Datei zusammenzuklicken? Du mußt doch wiessne wie die Oberfläche aussehen soll. Dann schickst Du deses Formular an eien PHP-Script welches dei Daten weiterverarbeitet. Wenn Du kein Stück weißt wie Du das machen sollst sag ich Dir das ist nicht ganz so einfach so ganz ohen PHP-Kenntnisse. Wenn Du aber nur komplette Textareas in eine Datei schreiben willst und ggfs. kpl. überschreiben willst, dann geht das mit den in meinem 1. Posting genannten Funktionen.

            und dann meinetwegen ausgewählte farben an bestimmte stellen der *.css datei kommen. Also wie man vorhandene Farben ersetzt.

            Das ist nicht einfach. Du müßtest die CSS-Datei als Array abbilden, dann  diesen Array in gültigen CSS-Code umwandeln können, diesen CSS-Code wieder in einen Array umwandeln können. Da ligt das Problem und das ist keine leichte Aufgabe. Was kannst Du denn so mit PHP? Kannst Du mit Arrays umgehen? Kannst Du Dateien schreiben/lesen? Kannst Du reguläre Ausdrücke verwenden um eine Datei zu parsen? Wenn Du das alles verneinen mußt würde ich es lassen. Dann bliebe nur noch von Hand css-code in eine einzige textarea einzugeben und das dann komplett in eine Datei auf dem Server zu schreiben.

            Grüße
            Andreas

  3. Hi,

    ich glaube, dir fehlt so ein bisschen der "Plan" für das Ganze, kann das sein?

    Also ich würde es so machen, dass du als erstes mal mit HTML (und vielleicht JavaScript, wenn du es brauchst) ein Formular mit den Eingabefeldern für alle Möglichen Schriftarten, Farben usw. machst. Diese Eingabefelder benennst du dann immer passend und übergibst das Formular zum Schluss an ein PHP-Script.

    Darin würde ich dann eine Variable für die css-Datei schreiben, ungefähr so:

    $css_datei = "
    body { font-family: ".$_GET['hintergrundfarbe']."; font-size: ".$_GET['hauptschriftart']." }
    ...";

    Dort fügst du eben jeweils die im Formular eingegebenen Daten an die entsprechenden Stellen ein. Diese Daten stehen in dem Array $_GET. Wie du die einzelnen Elemente dann ansprichst, siehst du in meinem Beispiel.

    Zum Schluss nutzt du dann fopen() und fwrite(), und schreibst die Variable (hier: $css_datei) bzw. den Text mit den eingefügten Werten dort hinein.

    Vielleicht ist dir die Vorgehensweise jetzt etwas klarer geworden. :)

    Viele Grüße
    Ben

    --
    Phantasie ist wichtiger als Wissen. - Albert Einstein