Adrian Weber: mehrere methods in einem <form>-tag

Hi
ich möchte eine suche mit php machen. Nun habe ich das Problem, das ich  eine Sache mit POST machen muss und eine weitere mit GET.

<form action="suche/suche.html" method="POST" target="_parent">
<form action="suche/suche.html" method="GET" target="_parent">
 Suche: <input type="text" name="suche"/>
<input type="image" name="ok" alt="ok" src="suche/suche2.png" align="top"/></div>
</form>
</form>

POST sendet die Eingabe zu einem weiteren punkt,wo sie dargestellt wird.
GET soll nun die Abfrage regeln.

Wenn ich es wie oben schreibe, funktioniert nur der <form>-tag mit POST.
Also, es wird immer nur der 1. <form>-tag benutzt.
Es sollen aber beide angaben funktionieren.

Könnt ihr mir helfen?

MFG

Adrian Weber

  1. echo $begrüßung;

    <form action="suche/suche.html" method="POST" target="_parent">
    <form action="suche/suche.html" method="GET" target="_parent">

    Formulare dürfen nicht ineinander geschachtelt werden. Und es ist immer nur eine der beiden Methoden erlaubt.

    ich möchte eine suche mit php machen. Nun habe ich das Problem, das ich  eine Sache mit POST machen muss und eine weitere mit GET.

    Du kannst aber durchaus bei der Methode POST im action-Attribut einen Querystring an die URL hängen.

    <form action="suche/suche.html?foo=bar" method="POST">
        <input type="text" name="suche"/>
      </form>

    foo findest du dann als Element in $_GET, und suche ist in $_POST zu finden.

    Es gibt aber keine Möglichkeit, die Eingaben sowohl als POST als auch als GET zu versenden, ohne Javascript ins Spiel zu bringen.

    echo "$verabschiedung $name";

    1. Hallo alle zusammen.

      Danke für die tipps. Jetzt funktioniert es, wie ich es wollte.

      MFG
      Adrian

  2. Hello Adrian,

    ich frage erstmal nicht, was Du da baust.

    Grundsätzlich kann HTTP "POST" und "GET" Parameter gleichzeitig übertragen und PHP kann diese auswählen. Die Browser benötigen aber die Angabe "POST", wenn sie die values der Formular-Elemente im Post-Body unterbringen sollen.

    Du kannst zusätzlich statische Get-Parameter übergeben, indem Du einfach eine URi angibst

    <form action="suche/suche.html?suche=abc&amp;offset=100&amp;limit=10" method="POST" target="_parent">

    Die URi könntest Du auch mit JavaScript zusammenbauen.

    Es gilt das ungeschriebene Gesetz: Alle Parameter, die bookmarkfähig sein dürfen oder sollen, per GET (also in der URi) übergeben, alle Parameter, die in Bookmarks nichts zu suchen haben, per POST übergeben.

    Bisher kenne ich keine Suchmaschine, die sich nicht daran hält.

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)