Variable aus HTML-Form an PHP

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

  • Variable aus HTML-Form an PHP

    Tach zusammen,
    langsam werd' ich mürbe.
    Ein simples HTML-Formular das ein einziges Feld an ein PHP-Script übergibt. Klingt simpel. Nur dass die Variable nicht vom PHP-Script angenommen wird.
    ----Formular:
    <form action="testsuche2.php3" method="get">
    <b>Suchbegriff</b>&nbsp;<input type="text" value="" name="suchbeg" size="7" maxlength="5">&nbsp;<input type="submit" value="Suchen" name="submit">
    ----testsuche.php3:
    <?

    print "Ihr Suche nach $suchbeg ergab folgende Ergebnisse";

    ?>
    ...
    <?

    $abfrage = "SELECT AboNr, Name, Email, PLZ FROM Abo WHERE (PLZ LIKE '$suchbeg%') ";
    $erg = mysql_db_query("testsuche",$abfrage,$verbindung);
    while ($row = mysql_fetch_array($erg)) {
    $AboNr = $row['AboNr'];
    $Name = $row['Name'];
    $Email = $row['Email'];
    $PLZ = $row['PLZ'];

    print "<tr bgcolor=#ffffff><td><font face=arial size=2>$AboNr</font></td><td><font face=arial size=2>$Name</font></td><td>$Email</td><td>$PLZ</td></tr>";
    }
    ?>

    Es wird einfach immer eine leere Variable übergben, so dass
    das PHP-Script immer alle Einträge anzeigt.

    Irgendjemand vielleicht eine Idee? Bin ich schlichtweg zu blöd?

    Michael

  • #2
    Hallo Michael,
    ich bin zwar ein blutiger Anfänger, soweit ich aber bis jetzt mitgekriegt habe, funktioniert der direkte Zugriff auf die Variable nur mit der Methode Post, bei Get muss man glaube ich die globale Variable $QUERY_STRING auswerten.
    !! War nur ein Versuch, bitte nicht gleich erschlagen, wenn ich falsch liege !!
    Gruss Walter

    Kommentar


    • #3
      Variable aus HTML-Form an PHP 2.

      Original geschrieben von Walter
      Hallo Michael,
      ich bin zwar ein blutiger Anfänger, soweit ich aber bis jetzt mitgekriegt habe, funktioniert der direkte Zugriff auf die Variable nur mit der Methode Post, bei Get muss man glaube ich die globale Variable $QUERY_STRING auswerten.
      !! War nur ein Versuch, bitte nicht gleich erschlagen, wenn ich falsch liege !!
      Gruss Walter
      Danke dir, aber mit Post ist es dasselbe.;-(

      Kommentar


      • #4
        Versuchs mal mit $row[PLZ]
        ohne die ''

        Kommentar


        • #5
          Hi
          Versche es mal so

          $abfrage = "SELECT AboNr, Name, Email, PLZ FROM Abo WHERE PLZ LIKE '%$suchbeg%') ";

          und las das value="" mal ganz weg
          <input type="text" name="suchbeg"

          Gruß
          Arni
          Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

          Kommentar


          • #6
            So wie Du das Script laufen läßt, wird zuerst für "suchbeg" ein Wert abgefragt, dann rufts Du mit Submit die Seite neu auf und ersetzt ihn gleich wieder durch eine leere Zeichenfolge, wenn Du wieder durch das Formular gehst.

            Möglichkeit 1:
            <?
            if(!empty($suchbeg)) {
            print "Ihre Suche nach $suchbeg ergab folgende Ergebnisse";
            }
            ?>
            ...
            <?

            $abfrage = "SELECT AboNr, Name, Email, PLZ FROM Abo WHERE (PLZ LIKE '$suchbeg%') ";
            $erg = mysql_db_query("testsuche",$abfrage,$verbindung);
            while ($row = mysql_fetch_array($erg)) {
            $AboNr = $row['AboNr'];
            $Name = $row['Name'];
            $Email = $row['Email'];
            $PLZ = $row['PLZ'];

            print "<tr bgcolor=#ffffff><td><font face=arial size=2>$AboNr</font></td><td><font face=arial size=2>$Name</font></td><td>$Email</td><td>$PLZ</td></tr>";
            }
            ?>

            <form action="testsuche2.php3" method="get">
            <b>Suchbegriff</b>&nbsp;<input type="text" value="" name="suchbeg" size="7" maxlength="5">&nbsp;<input type="submit" value="Suchen" name="submit">

            Möglichkeit 2:
            <form action="testsuche2.php3" method="get">
            <b>Suchbegriff</b>&nbsp;<input type="text" value="<? echo $suchbeg ?>" name="suchbeg" size="7" maxlength="5">&nbsp;<input type="submit" value="Suchen" name="submit">


            if(!empty($suchbeg)) {
            print "Ihre Suche nach $suchbeg ergab folgende Ergebnisse";
            }
            ?>
            ...
            <?

            $abfrage = "SELECT AboNr, Name, Email, PLZ FROM Abo WHERE (PLZ LIKE '$suchbeg%') ";
            $erg = mysql_db_query("testsuche",$abfrage,$verbindung);
            while ($row = mysql_fetch_array($erg)) {
            $AboNr = $row['AboNr'];
            $Name = $row['Name'];
            $Email = $row['Email'];
            $PLZ = $row['PLZ'];

            print "<tr bgcolor=#ffffff><td><font face=arial size=2>$AboNr</font></td><td><font face=arial size=2>$Name</font></td><td>$Email</td><td>$PLZ</td></tr>";
            }
            ?>


            Kommentar


            • #7
              Danke Arni für die Hilfe,
              aber ohne Value der gleiche Effekt.
              Das % vor dem $suchbeg habe ich weg gelassen, da ich nur die
              Werte ausgeben will, die mit $suchbeg BEGINNEN.

              Michael

              Kommentar


              • #8
                Danke Wolfgang,
                aber das Script ruft sich nicht selbst auf, da es ZWEI unterschiedliche Dateien sind.
                Ich kann natürlich auch noch eine Abfrage auf empty durchführen, aber an meinem Problem ändert das leider nichts.

                Michael

                Kommentar

                Lädt...
                X