if abfrage für optionsbox

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

  • #16
    Original geschrieben von Blackgreetz
    Hallo,

    du lässt die Auswahlliste mit Smarty erstellen und fütterst sie vorher mit Werten?
    Wenn einer der Werte z.b. 2 ist, dann soll die Box angezeigt werden?

    Muss er den Wert auch ausgewählt haben, oder sobald er da ist die if?

    mfg
    Richtig, genau so ist es endlich

    ja genau, also wird per smarty gefüttert. genau und wenn dann z.B. wert 2 ausgewählt ist, dann soll die Box erscheinen, vorher nicht.

    Also den Wert muss er erst auswählen, Wert 1 ist voreingestellt und bei dem soll dann nichts weiter passieren, erst bei Wert 2

    Kommentar


    • #17
      Und warum sollte das mit Sessions nicht gehn?
      Ich irre mich bestimmt, wenn ich sage: Sessions sind dazu da, um Informationen über mehrere Seitenaufrufe zu speichern.

      Kommentar


      • #18
        Original geschrieben von $_Baker
        Und warum sollte das mit Sessions nicht gehn?
        Ich irre mich bestimmt, wenn ich sage: Sessions sind dazu da, um Informationen über mehrere Seitenaufrufe zu speichern.
        weil es damit nun mal nicht geht durch die smartys, das is alles ein wenig kompliziet aufgebaut, wobei blackgreetz das schon richtig beschrieben hat. Mit Sessions hab ichs probiert ohne erfolg, mehr kann ich dazu nicht sagen...

        Kommentar


        • #19
          Aber so oder so, der Wert kommt von PHP, und dort wird er auch in einer Variablen stehn, wenn er nicht in einer Variable stehen sollte, wäre er nicht dynamisch.

          //Deswegen mag ich Templatesysteme nicht, da mach ich mir lieber das bisschen mehr an mühe mit Heredoc usw.

          Kommentar


          • #20
            Entweder hab ich es nun nicht verstanden, oder folgendes ist nicht das gesuchte(trotzdem mal beispielcode)

            Code:
            <form method="post" action="">
             <select name="auswahl">
              <option value="1">Wert 1</option>
              <option value="2">Wert 2</option>
              <option value="3">Wert 3</option>
             </select>
            </form>
            PHP-Code:
            if(isset($_POST['auswahl']) && $_POST['auswahl'] == '2'){

            echo 
            'box erscheine!';


            Die Box wird natürlich nur 1x angezeigt, nachdem man abgesendet hat.
            Wenn sie für einen Login gültig lang soll, dann speicher z.b.

            PHP-Code:
            $_SESSION['auswahl'] = 2
            Und beim aufruf der Seite kannst du das ganze ja eventuell über eine if steuern, ob Session / Post / nichts gegeben ist.

            mfg

            Kommentar


            • #21
              Ja nee so wie du das beschreibst wäre es richtig, die Daten für das Dropdown kommen aber aus nem Smarty von PHP.

              Der Code für die Dropdown box sieht folgendermaßen aus:

              Code:
              	<select name="id[{$options_data.ID}]">
                {foreach key=key_data item=item_data from=$options_data.DATA}
                <option value="{$item_data.ID}">{$item_data.TEXT} {if $item_data.PRICE !='' }{$item_data.PREFIX}{$item_data.PRICE}{/if} </option>
              {/foreach}
              </select>
              Und dabei hab ich halt das Problem wie ich da nen bestimmten Wert auslesen kann, blackgreetz hats schon richtig gesagt wie die Box gemeint ist...

              Kommentar


              • #22
                Ich seh das Problem nicht so ganz.

                Du siehst:

                name="id[{$options_data.ID}]"

                , womit du nun weißt, wie der Schlüssel für Post sein muss:

                $_POST["id[{$options_data.ID}]"] bzw. dann eben ersetzt ^^..(also ohne {} und String-verbunden.

                Dann kannst du am Ende doch nachgucken, welchen Wert das hat, wenn du ja weißt, was am Ende im Quelltext (value) steht.

                mfg
                ps: ist das reiner code von smarty oder ist das dein code, der smarty nutzt? Da smarty ein Darstellungsystem ist (wofür man es nutzt), aber natürlich auch framework code hat.
                ps2: bitte code umbrechen!

                Kommentar


                • #23
                  Die Programmlogik gehört nicht ins Smarty Template, sondern ins PHP File.

                  PHP-Code:
                  $smarty->assign('display_box', (bool)(isset($_POST['auswahl']) && $_POST['auswahl'] == '2')); 
                  Code:
                  {if $display_box}
                      <!-- meine box -->
                  {/if}

                  Kommentar

                  Lädt...
                  X