xpfreund: Formularauswertung

Hallo,

Also ich habe hier eine dynamische Auswahlliste erstellt.

$weekend_color_values = array("1" => blau, "2" => gelb, "4" => orange, "3" => grün);

Array für in der Liste angezeigte Texte

echo "<tr><td>Wochenendfarbe:</td><td><select name='setting_weekend_color' size='1'>\n";
  foreach ($weekend_color_values as $w_value => $c_text) {
   echo "<option value='$w_value'>";
    if ($w_value == $weekend_color) { echo " selected"; }
    echo ">$c_text\n";
Anzeige

Jetzt zu meiner Frage: Ich möchte gern, dass statt blau oder einer anderen Farbe, der Hexcode oder die englische Bezeichnung in die Variable übergeben wird. Sonst funktioniert die Farbauswahl ja nicht. Mein Ansatz wäre ein Array, allerdings weiß ich nicht, wie das aussieht.
Könnt ihr mir helfen?

gruß aus Senftenberg am See

  1. hi,

    Jetzt zu meiner Frage: Ich möchte gern, dass statt blau oder einer anderen Farbe, der Hexcode oder die englische Bezeichnung in die Variable übergeben wird.

    Dann setze doch gleich diesen als Value der Options.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Dann setze doch gleich diesen als Value der Options.

      Kann ich aus einem Grund nicht machen. Wieso? Die deutschen Worte sollen auswählbar sein. Wenn ich aber z. B. blue #FF00FF ins value schreibe, würde ja in der Auswahl statt blau oder ... angezeigt werden. Oder sehe ich das falsch?

      gruß aus Senftenberg am See

      1. hi,

        Dann setze doch gleich diesen als Value der Options.
        Kann ich aus einem Grund nicht machen. Wieso?

        Weil es dir an Wissen über HTML-Formulare fehlt.

        Die deutschen Worte sollen auswählbar sein.

        Sind sie auch.

        Wenn ich aber z. B. blue #FF00FF ins value schreibe, würde ja in der Auswahl statt blau oder ... angezeigt werden. Oder sehe ich das falsch?

        Ja.
        RTFM

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,

          Weil es dir an Wissen über HTML-Formulare fehlt.

          Woher auch? Hab sie ja noch nie benutzt.
          So läufts aber, zumindest nach einer kleinen Umstrukturierung des umgebenden Befehls.
          Danke für deine Hilfe

          gruß aus Senftenberg am See

          1. hi,

            Weil es dir an Wissen über HTML-Formulare fehlt.
            Woher auch?

            Aus einer Dokumentation vielleicht ...?
            Möglicherweise bspw. einer, die auf den Namen SELFHTML hört ...?

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hallo,

              Weil es dir an Wissen über HTML-Formulare fehlt.
              Woher auch?

              Aus einer Dokumentation vielleicht ...?
              Möglicherweise bspw. einer, die auf den Namen SELFHTML hört ...?

              Das Problem ist allerdings, dass ich vorher nie so etwas benötigt habe. Uns Azubis wird ja leider gelernt, das zuerst das Problem da sein muss und dann erst die P.sprache dazu kommt. Na und zuhause werre ich mich bestimmt nicht damit beschäftigen (jedenfalls wenn es zu vermeiden geht). *Als wenn ich sonst nix zu tun hätte.

              gruß aus Senftenberg am See

              1. hi,

                Aus einer Dokumentation vielleicht ...?
                Möglicherweise bspw. einer, die auf den Namen SELFHTML hört ...?
                Das Problem ist allerdings, dass ich vorher nie so etwas benötigt habe.

                Und das ist deine Rechtfertigung dafür, dich auch dann nicht selber zu informieren, wenn du es benötigst?

                Uns Azubis wird ja leider gelernt, das zuerst das Problem da sein muss und dann erst die P.sprache dazu kommt.

                Und selbstständiges Lösen von Problemen wird euch gar nicht gelehrt?

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
              2. Hallo,

                Na und zuhause werre ich mich bestimmt nicht damit beschäftigen (jedenfalls wenn es zu vermeiden geht). *Als wenn ich sonst nix zu tun hätte.

                wieso eigentlich nicht? Ich finde, das ist ein faszinierendes Hobby!

                gruß aus Senftenberg am See

                Grüße zurück aus der Murr-Metropole Backnang,
                 Martin

                --
                Moskito, ergo summ.
                1. Hallo,

                  Grüße zurück aus der Murr-Metropole Backnang,
                  Martin

                  Metropole? Das ich nicht lache. Ihr habt gerade mal 5000 Einwohner mehr als wir und du meinst, damit seid ihr schon eine Metropole, also mal ehrlich. Komm doch mal nach Berlin oder sogar nach Cottbus, das sind wenigstens Metropolen. Sind auch viel näher an Polen.

                  gruß aus Senftenberg am See

      2. Hi,

        Dann setze doch gleich diesen als Value der Options.
        Kann ich aus einem Grund nicht machen. Wieso? Die deutschen Worte sollen auswählbar sein. Wenn ich aber [...]

        zu welchem Zweck brauchst Du eigentlich die Zahlenwerte im Array?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo,

          zu welchem Zweck brauchst Du eigentlich die Zahlenwerte im Array?

          Meine Überlegung war, dass in dem Array steht, das bspw. green in der Variable erscheinen soll, wenn grün angeklickt wurde.
          grün = green

          Aber mit wahsagas Tipp gings dann auch.

          gruß aus Senftenberg am See

          1. Hi,

            Meine Überlegung war, dass in dem Array steht, das bspw. green in der Variable erscheinen soll, wenn grün angeklickt wurde.
            grün = green

            das ist gut, aber warum sagst Du dann 3=grün?

            Aber mit wahsagas Tipp gings dann auch.

            Jo, mit dem richtigen Datenmodell ... :-)

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hallo,

              das ist gut, aber warum sagst Du dann 3=grün?

              Damit man einmal bei Festeinstellungen direkt auf einen bestimmten Wert im Array zugreifen kann und zum andern die gewünschte Sortierung bleibt.

              gruß aus Senftenberg am See

              1. Hi,

                das ist gut, aber warum sagst Du dann 3=grün?
                Damit man einmal bei Festeinstellungen direkt auf einen bestimmten Wert im Array zugreifen kann

                dazu ist keine Zahl erforderlich. Assoziative Arrays können in PHP fast vollkommen identisch zu solchen mit nummerischen Indizes verwendet werden. Wobei sich übrigens die Frage stellt, warum Du nummerische Werte als String tarnst.

                und zum andern die gewünschte Sortierung bleibt.

                Wo wird die bei nicht-nummerischen Indizes beeinträchtigt?

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
  2. Hello,

    wenn Dein Formular "sicher" werden soll, benötigst Du sowieso eine Transformationsschicht.
    Die eigentlichen Werte werden dann also gar nicht an den Client mitgesandt, sondern unter einem Index z. B. in der Session abgelegt. Da ist es dann auch kein Problem mehrere Sprachen oder Farbnuancen oder was auch immer zu verwalten.

    Dann kann der Client auch nur noch zwischen den vorhandenen Indices wählen. Wenn er einen falschen schickt, weißt Du sofort, dass ein Fehler oder Fake vorliegt.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hallo,

      wenn Dein Formular "sicher" werden soll, benötigst Du sowieso eine Transformationsschicht.

      Muss es nicht, es wird nur im Intranet unserer Firma laufen.

      Die eigentlichen Werte werden dann also gar nicht an den Client mitgesandt, sondern unter einem Index z. B. in der Session abgelegt. Da ist es dann auch kein Problem mehrere Sprachen oder Farbnuancen oder was auch immer zu verwalten.

      Die Sprachen werden eigentlich über Variablen unterteilt. Es gibt mehrere Sprachdateien, die jeweils die ganzen Texte in Deutsch, Englisch und vielen anderen Sprachen haben. Diese werden im Einstellungsfenster verwaltet. Deswegen steht im Array ganz oben im ersten Post kein "blau", sondern einfach eine Variable, die sich bei Deutsch-Einstellung den Text "blau" holt. Deswegen wird beim Formular der Inhalt der Variable angezeigt und aber trotzdem der englische Begriff in die Variable $weekend_color geschrieben. Durch diese Variable ist es mir möglich im Kalender dieses Programms Wochenenden entsprechend farbig darzustellen.

      gruß aus Senftenberg am See

      1. Hello,

        [...]

        genauso habe ich das auch verstanden.
        Der Index ist also Dein Transformations-Knoten.
        An diesen koppeln sich sowohl die am Client darzustellenden Klartexte, als auch die dem Programm zur Verfügung zu stellenden Farbwerte, die auch noch aus verschiedenen "Geschmacksmustern" stammen könnten.

        Die Transformationsschicht solltest Du daher also einziehen. Das sie Dir zusätzlich zur Variabilität auch noch "Sicherheit" liefern kann, ist doch kein unangenehmer Nebeneffekt.

        Faulheit bei der Entschichting der Client-Server-Datenarchitektur rächt sich meistens später durch "erstarrte Funktionalität" oder Sicherheitslücken.

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. Hallo,

          genauso habe ich das auch verstanden.
          Der Index ist also Dein Transformations-Knoten.
          An diesen koppeln sich sowohl die am Client darzustellenden Klartexte, als auch die dem Programm zur Verfügung zu stellenden Farbwerte, die auch noch aus verschiedenen "Geschmacksmustern" stammen könnten.

          richtig

          Die Transformationsschicht solltest Du daher also einziehen. Das sie Dir zusätzlich zur Variabilität auch noch "Sicherheit" liefern kann, ist doch kein unangenehmer Nebeneffekt.

          Was soll denn überhaupt geändert werden, damit das in deinen Augen sicher ist?

          Faulheit bei der Entschichting der Client-Server-Datenarchitektur rächt sich meistens später durch "erstarrte Funktionalität" oder Sicherheitslücken.

          Sicherheitslücken sind doch eigentlich egal. Das Programm läuft doch sowieso nur im Intranet und dieses hat keine Verbindung zum Internet, also ist das doch nicht wichtig. Abgesehen sollte ich das Programm (phprojekt) ja nur unseren Anforderungen anpassen und nicht umschreiben. Und da mein Chef das nun bald haben will, muss ich fertig werden, ist schließlich alles Arbeitszeit.

          gruß aus Senftenberg am See