Problem mit POST-Funktion

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

  • Problem mit POST-Funktion

    Hallo,
    ich habe ein Problem mit der POST-Funktion. Ich habe eine Textbox in der der User Suchbegriffe eingeben kann. Mein Problem ist nur das die POST-Variable "suche" nicht beim erstenmal übertragen wird sondern beim zweiten mal.

    Bsp.:
    Beim ersten Klick: index.php?page=memberliste&anzeige=
    Beim zweiten Klick: index.php?page=memberliste&anzeige=test

    Wie kann ich das ändern?

    PHP-Code:
    <form action="index.php?page=memberliste&anzeige=<?php echo $_POST['suche']; ?>" method="POST">
    <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="100%" align="right" valign="top" class="ü_text">
          <input name="suche" type="Text" size="20"> &nbsp; <input name="Submit" type="Submit" value="Suchen">
        </td>
      </tr>
    </table></forum>

  • #2
    Die $_POST wird schon richtig übertragen, Du wertest sie nur an der falschen Stelle aus.

    Kommentar


    • #3
      Und wo werte ich sie dann richtig aus?

      Kommentar


      • #4
        Original geschrieben von SilverVegeto
        Und wo werte ich sie dann richtig aus?
        nach dem 1 Klick natürlich, wenn du schon weitergeben kannst, wer hindert dich daran, sie auch zu verwenden und auszuwerten?

        Kommentar


        • #5
          Naja, das kann ich Dir nicht so einfach beantworten weil nur Du wissen kannst was Du machen willst.

          Aber da Du ein Feld mit dem Namen 'suche' in der Form hast macht es keinen Sinn den Wert der darin enthalten ist nochmal als Übergabewert an die URL anzuhängen. Beim zweiten mal ist der Wert ja auch korrekt drin, da Du ihn nach einem Reload ja befüllt hast. Ich denke mal, Du willst mir der Variablen irgendwas im weitern php-Code machen, naja, das solltest Du auch machen.

          Kommentar


          • #6
            Re: Problem mit POST-Funktion

            Original geschrieben von SilverVegeto
            PHP-Code:
            <form action="index.php?page=memberliste&anzeige=<?php echo $_POST['suche']; ?>" method="POST">
            <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td width="100%" align="right" valign="top" class="ü_text">
                  <input name="suche" type="Text" size="20"> &nbsp; <input name="Submit" type="Submit" value="Suchen">
                </td>
              </tr>
            </table></forum>
            Also so macht das für mich nicht viel Sinn.
            Wenn Du Werte an die Datei index.php übergeben willst macht man das nicht im Form-Tag sondern in Eingabefeldern oder Hidden Felder.

            PHP-Code:
            Gesuchter Begriff: <?php echo $_POST['suche']; ?>

            <?php
            $anzeige 
            $_POST['suche'];
            ?>

            <form action="index.php?page=memberliste&anzeige=<?php echo $anzeige?>" method="POST">
            <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td width="100%" align="right" valign="top" class="ü_text">
                  <input name="suche" type="Text" size="20"> &nbsp; <input name="Submit" type="Submit" value="Suchen">
                </td>
              </tr>
            </table></forum>

            Jetzt wird der wert von dem Feld suche nach dem absenden an das Script übergeben.
            Erst dann kann man den Wert auch weiter verarbeiten und wieder anzeigen.

            Kommentar


            • #7
              Hmm, was Andy2006 da gepostet hat kommt der Lösung schon sehr nahe, obwohl ich nicht verstehe warum er den Wert auch als GET-Variable nochmal an die URL anhängt, bzw. wieso sollte das Formular nach dem Absenden nochmal ausgegeben werden?

              Sinnvoller wäre:

              PHP-Code:
              <?php
              if (isset($_POST['suche'])) {
                echo 
              "Juhu! Es wurde gesucht! Begriff: " $_POST['suche'];
              }
              else {
              ?>
              <form action="index.php?page=memberliste" method="POST">
              <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
                <tr>
                  <td width="100%" align="right" valign="top" class="ü_text">
                    <input name="suche" type="Text" size="20"> &nbsp; <input name="Submit" type="Submit" value="Suchen">
                  </td>
                </tr>
              <?php ?>
              Zugegeben, ist nicht grad der hübscheste Code mit der HTML-{}-Einklammerung, aber ich war jetzt zu faul das in echos umzuschreiben oder mir was anderes auszudenken.
              Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

              Kommentar


              • #8
                Original geschrieben von ArSeN
                [B]Hmm, was Andy2006 da gepostet hat kommt der Lösung schon sehr nahe, obwohl ich nicht verstehe warum er den Wert auch als GET-Variable nochmal an die URL anhängt,
                Das weiß ich auch nicht, aber er wollte es so

                Original geschrieben von ArSeN
                bzw. wieso sollte das Formular nach dem Absenden nochmal ausgegeben werden?
                Das habe ich jetzt nur so geschrieben damit er versteht wie die Post-Eingaben verarbeitet werden.

                Kommentar

                Lädt...
                X