Mark Zimmermann: onSelect: Aufruf neuer Seite mit Variablen

Hallo habe folgendes Problem und Denkblokade...

Drei Select Boxen sind auf der Seite. Sobald eine geändert wird, erfolgt ein RELOAD und die Variable wird übergeben.

Dabei soll die Datei wie folgt geöffnet werden:
index.php?x=variable&y=variable&z=variable

Wenn ich die die Variable bei <form action="..." method="post"> angebe, hinke ich eine Select Runde hinterher.

Wie bekomme ich es hin, dass bei einem Select die URL korrekt aufgerufen wird?

Vielen Dank,

Mark

  1. hi,

    Wenn ich die die Variable bei <form action="..." method="post"> angebe, hinke ich eine Select Runde hinterher.

    wenn du ein normales formular mit method="get" machst, die bereits vorher ausgewählten werte beim neuerstellen der seiten bereits wieder als vorauswahl einstellst, und dann das formular ordnungsgemäß abschickst, sehe ich nicht, wo das problem liegen soll.

    gruss,
    wahsaga

    1. Ist ja schön und gut, aber ich möchte die Variablen in der URL haben, sonst bekomme ich probleme beim Vor und Zurück. Nenn Sessionhandler will ich nicht extra bauen...

      1. hi,

        Ist ja schön und gut, aber ich möchte die Variablen in der URL haben,

        deshalb schrieb ich ja, benutze method="get".

        gruss,
        wahsaga

  2. Hallo Mark

    hinke ich eine Select Runde hinterher.

    was genau habe ich mir darunter vorzustellen?

    Gruß aus Berlin!
    eddi

    1. was genau habe ich mir darunter vorzustellen?

      echo "<form action="reference.php?x=$x&y=$y&z=$z" method="post" target="">";
      echo "<select name="x" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Applications</option></select>";
      echo "<select name="y" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Products</option></select>";
      echo "<select name="z" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Countries</option></select>";
      echo "</form>";

      1. was genau habe ich mir darunter vorzustellen?

        echo "<form action="reference.php?x=$x&y=$y&z=$z" method="post" target="">";
        echo "<select name="x" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Applications</option></select>";
        echo "<select name="y" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Products</option></select>";
        echo "<select name="z" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Countries</option></select>";
        echo "</form>";

        und was HINKT da nun?

        Gruß aus Berlin!
        eddi

        1. Ach jetzt glaube ich: Ich weiß was Du mit hinken meinst. Das ist aber kein Problem, wenn Du per if-else abfragst, ob $_GET[x~y~z] || $_POST[x~y~z] definiert sind und machst bei TRUE einfach eine Weiterleitung auf die Seite blablabal.php?X~Y~Z

          Was mich eher stören würde, wäre, daß ich bei Deinem Formular 3 mal eine Auswahl mit Zwischenstop (zwei mal unnötiger Neuaufbau der Seite) habe! Modem ist da dann nicht so toll.

          Gruß aus Berlin!
          eddi

          1. Was mich eher stören würde, wäre, daß ich bei Deinem Formular 3 mal eine Auswahl mit Zwischenstop (zwei mal unnötiger Neuaufbau der Seite) habe! Modem ist da dann nicht so toll.

            Geschwindigkeit ist egal.

            Die Boxen werden dynamisch aufgebaut, je nachdem was man vorher ausgewählt hat. Man kann praktisch nur sachen Auswählen, die auch in der Datenbank drin sind.

          2. Was mich eher stören würde, wäre, daß ich bei Deinem Formular 3 mal eine Auswahl mit Zwischenstop (zwei mal unnötiger Neuaufbau der Seite) habe! Modem ist da dann nicht so toll.

            Geschwindigkeit ist egal.

            Die Boxen werden dynamisch aufgebaut, je nachdem was man vorher ausgewählt hat. Man kann praktisch nur sachen Auswählen, die auch in der Datenbank drin sind.

          3. Hallo! Kannst du mir nen kleinen Codeschnipsel zukommen lassen?

            Wäre dir total dankbar...

            1. if((isset($_POST[x])||isset($_GET[x]))&&(isset($_POST[y])||isset($_GET[y]))&&(isset($_POST[z])||isset($_GET[z])))
                 header("Location: http://www.wünsch.dir.was.de");
              else
                 {
                 echo "<form action="reference.php?x=$x&y=$y&z=$z" method="post" target="">";
                 echo "<select name="x" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Applications</option></select>";
                 echo "<select name="y" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Products</option></select>";
                 echo "<select name="z" style="WIDTH: 150px" onChange="submit()"><option value="empty">Select...</option><option value="all">All Countries</option></select>";
                 echo "</form>";
                 }

              Gruß aus Berlin!
              eddi

        2. und was HINKT da nun?

          Macht man einen Select (x=5), steht in der URL noch
          ist: reference.php?x=&y=&z=
          soll: reference.php?x5=&y=&z=

          nächster Select: (y=3)
          ist: reference.php?x5=&y=&z=
          soll: reference.php?x5=&y=3&z=

          nächster Select: (z=9)
          ist: reference.php?x5=&y=3&z=
          soll: reference.php?x5=&y=3&z=9

          Also der Aufruf stimmt nicht mit dem mit dem aktuellen Status der Variablen überein.

      2. Hi,

        echo "<form action="reference.php?x=$x&y=$y&z=$z" method="post" target="">";

        Du willst die Parameter in der URL haben, verwendest aber POST, womit sie eben nicht in der URL landen.
        Irgendwie widersinnig...

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.