Janosch: Variable der nächsten Seite übergeben

Ich will die Variable $MONAT, die aus der selectbox gewählt wurde an einen link setzen, damit ich die Variable in der nächsten Seite verwenden kann. Leider hängt nichts an meinem Link, sondern sieht so aus:

http://www.test.de/gewinner.php?monat=

hier die selectbox:

<select name="MONAT" style="WIDTH: 160px" size="1">
              <option value="-">bitte auswählen ...</option>
              <option value="1">Jan <?PHP echo "$datum "; ?></option>
              <option value="2">Feb <?PHP echo "$datum "; ?></option>
              ...</select>

mein Form zum Aufrufen der nächsten Seite:

<form action="<? printf("gewinner.php?monat=%s",$MONAT) ?>" method="post">

Woran liegt das?

Janosch

  1. Also ich würde schreiben:

    <form name="daten" action="gewinner.php" method ="post">

    mit deinem Select:
    <select name="MONAT" style="WIDTH: 160px" size="1">
                  <option value="-">bitte auswählen ...</option>
                  <option value="1">Jan <?PHP echo "$datum "; ?></option>
                  <option value="2">Feb <?PHP echo "$datum "; ?></option>
                  ...</select>

    kommt dann raus: http://www.test.de/gewinner.php?MONAT=1 für den Januar.... willst du einen Namen dann als value z.B. value="Jan" oder so....

    1. Aha?! wo wird denn hier gewinner.php?MONAT=1 übergeben?

      <form name="daten" action="gewinner.php" method ="post">

      ich dachte da muss sowas stehen:
      <form name="daten" action="gewinner.php?monat=$MONAT" method ="post">

      Blick jetzt gar nix mehr. *heul*

      janosch

      1. Wird doch automatisch an die action drangehängt von HTML. Das sind doch grundregeln....

        überhaupt hast du kein $MONAT, sondern ein SELECT-Feld Name der MONAT heißt....und die Values.....

        Probier es doch einfach...

        Dann schreib wieder...

        Gruss

        1. bei mir wird dann folgender Link geöffnet:
          http://www.test.de/gewinner.php

          leider nicht so:
          http://www.test.de/gewinner.php?MONAT=1

          *heul-meine-augen-tun-schon-voll-weh*

          janosch

          1. Schreib bitte nochmals (bzw. kopier heraus) was jetzt genau drinnensteht...

            Gruss,
            J.

            1. Ich meine die Programmierzeilen...

          2. bei mir wird dann folgender Link geöffnet:
            http://www.test.de/gewinner.php

            leider nicht so:
            http://www.test.de/gewinner.php?MONAT=1

            Ist ja auch richtig, da du die Werte per POST übermittelst! Bei Post werden die Daten nicht in der URL sichtbar übermittelt!

            *taschentuchreich*

    2. Moin moin,

      <form name="daten" action="gewinner.php" method ="post">

      ^^^^

      mit deinem Select:
      <select name="MONAT" style="WIDTH: 160px" size="1">
                    <option value="-">bitte auswählen ...</option>
                    <option value="1">Jan <?PHP echo "$datum "; ?></option>
                    <option value="2">Feb <?PHP echo "$datum "; ?></option>
                    ...</select>

      kommt dann raus: http://www.test.de/gewinner.php?MONAT=1 für den Januar.... willst du einen Namen dann als value z.B. value="Jan" oder so....

      leider stimmt das nicht, da er POST als Methode verwendet.
      Wenn Janosch auf den Submit Button klickt, wird die gewinner.php aufgerufen und dort steht das Ausgewählte (Ziffer, da value gesetzt worden ist) als $_POST['MONAT'] zur Verfügung.
      Das <?PHP echo "$datum ";> verstehe ich nicht ganz.

      Ich würd's in etwa so machen:
      <form name="daten" action="gewinner.php" method ="post">
      <select name="MONAT" style="WIDTH: 160px" size="1">
        <option value="-">bitte auswählen ...</option>
        <option value="1">Jan</option>
        <option value="2">Feb</option>
      ...
      </select>

      Natürlich muß man diese Werte in der gewinner.php noch mal auf Korrektheit überprüfen.
      Siehe auch:
      http://www.dclp-faq.de/q/q-sicherheit-parameter.html  <<- "Prüfe importierte Parameter. Traue niemandem"
      http://www.dclp-faq.de/q/q-security-variablen.html    <<- "Wie unterscheide ich böse Variablen von guten?"

      Gruß
      Patrick

      1. Sei mir nicht böse...du hast jetzt nix anders gemacht wie ich....
        und bei funkt es...

        Gruss,
        J.

    3. Moin

      <form name="daten" action="gewinner.php" method ="post">

      kommt dann raus: http://www.test.de/gewinner.php?MONAT=1 für den Januar.... willst du einen Namen dann als value z.B. value="Jan" oder so....

      Warum sollte eine Variable via GET übergeben werrden wenn Sie mit POST verschickt wird?
      Sorry Jessica aber du liegst da schon wieder falsch...
      :-)
      Viele grüße aus Berlin
      TomIRL

      1. Ich kann bloß sagen, dass es funkt....

        1. Ich kann bloß sagen, dass es funkt....

          Funkt?
          Oh nicht das noch brennt!
          Funktionieren tut es vielleicht weil Du GET statt POST benutzt..
          Oder weil Du die POST Variable richtig auswertest.

          TomIRL

          1. Ja natürlich werte ich die POST richtig aus...

            Hier die Auswertefunktion....

            sub decodeCGIDaten() {

            if ($ENV{'REQUEST_METHOD'} eq "GET") {
                    $buf = $ENV{'QUERY_STRING'};
            }
            else {
                    read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
            }
            %FORM1 = decode($buf);
            return (%FORM1);
            }

            Es wird also ein Hash zurückgegeben.....
            hier ist alles dann drinnen zum erneuten auslesen....

            z.B. würde dann drinnen stehen unter $FORM1{MONAT} der Wert 1....
            (ist Perl-Syntax...)...

            Gruss,
            J.

            1. Moin moin,

              (ist Perl-Syntax...)...

              sorry, aber was hat deine Perl-Auswertungsfunktion mit dem PHP-Problem vom Fragesteller zutun ?
              Janosch will sein Formular per PHP auswerten lassen.
              Oder stehe ich grad auf dem Schlauch ?

              Gruß
              Patrick

              1. Na das ist doch sehr ähnlich oder nicht...
                Müssen halt die Befehle nach PHP übersetzt werden...

                Gruss,
                J.

                1. Na das ist doch sehr ähnlich oder nicht...
                  Müssen halt die Befehle nach PHP übersetzt werden...

                  Sorry aber Du kennst Dich echt nicht, aus Hashs kennt PHP nicht (wirklich) und schreibst Du immer wieder am Thema vorbei so, lange er via POST übergibt ist GET einfach nichts da.

                  Un da kkanst probieren und probieren..

                  TomIRL

                  1. Es muss ja wohl in PHP auch was ähnliches geben oder....

                    Gruss,
                    J.

                  2. Na kennst du dich vielleicht auch in MySQL aus?
                    Wäre nicht schlecht, wenn du meine Frage
                    http://forum.de.selfhtml.org/?t=73957&m=426182
                    beantworten könntest...

                    Gruss,
                    J.

  2. Hier ist was über Decodieren und Encodieren von Übergabeparameter....

    http://www.selfphp.info/funktionsreferenz/session_funktionen/session_decode.php

    http://www.selfphp.info/funktionsreferenz/session_funktionen/session_encode.php

    Das müsste dir dann auch weiterhelfen....

    Gruss,
    J.

  3. Sorry, habe die falschen Links kopiert....
    Hier die richtigen....

    http://www.selfphp.info/funktionsreferenz/url_funktionen/urldecode.php

    http://www.selfphp.info/funktionsreferenz/url_funktionen/urlencode.php

    http://www.selfphp.info/funktionsreferenz/url_funktionen/rawurldecode.php

    Gruss,
    J.

  4. Kannste ja auch mal hier nachlesen:

    http://www.galileocomputing.de/openbook/php4/

    Gruss,
    J.