Compu: Formular absenden mithtml --> php Verarbeitung

Guten Morgen,

also ich habe eine Frage.
Wenn ich das Formular abschicke gehen die Daten an die gleiche Datei.

Also das Formular ist in apply.php und die Daten sollen von apply.php verarbeitet werden.

Wie macht der profi das?

Momentan mache ich das so:

<form name="bewerbung" action="apply.php?senden=1" method="post" onsubmit="return CheckJobApplication()">

oder sollte man es besser so machen:

<form name="bewerbung" action="apply.php?senden=TRUE" method="post" onsubmit="return CheckJobApplication()">

Also besser mit boolean testen oder vielleicht ganz anders?

Danke

  1. Hallo,

    keine der Varianten...

    mit post abgeschickte Formularinhalte stehen dann auf der "Actionseite" zur Verfügung und sollten dort getestet werden.
    If($submit)
    isset($submit)
    etc.

    Einen zusätzlichen Querytring halte ich für überflüssig...

    Odium

    1. Hi,

      das ist interessant.
      Ist "submit" denn eine Variable?

      Danke. Super Tipp, dann habe ich es bisher immer zu umständlich gemacht.

      :-)))

      Gruß Compu

      1. Hallo,

        <input type="submit" value="abschicken>
        ist auch ein formularbestandteil, der nach post auf der folgeseite zur verfügung steht, da submit dabei eine spezielle funktion hat kann man darauf testen und so feststellen, ob submittet wurde...

        Odium

        1. hi,

          <input type="submit" value="abschicken>
          ist auch ein formularbestandteil, der nach post auf der folgeseite zur verfügung steht, da submit dabei eine spezielle funktion hat kann man darauf testen und so feststellen, ob submittet wurde...

          der wert eines submit-buttons steht dir aber nur dann zur verfügung, wenn der submit-button auch wirklich angeklickt wurde - beim abschicken mit der entertaste wird submit nicht mit übergeben.

          gruss,
          wahsaga

          1. Hi,

            der wert eines submit-buttons steht dir aber nur dann zur verfügung, wenn der submit-button auch wirklich angeklickt wurde - beim abschicken mit der entertaste wird submit nicht mit übergeben.

            Das ist eine sehr, sehr wertvolle Info.
            Ich selbst benutze sehr oft die Return Taste zum Abschicken.

            Also Finger weg von if(isset($submit)).

            Danke

          2. Guter Hinweis!
            Ausserdem ist es ein GLOBALS_ON Beispiel.
            Wenn es also bei dem ein oder anderen nicht funktioniert, dann kann es auch daran liegen. Dann alternativ/und besser $_POST verwenden.

            ciao

            der wert eines submit-buttons steht dir aber nur dann zur verfügung, wenn der submit-button auch wirklich angeklickt wurde - beim abschicken mit der entertaste wird submit nicht mit übergeben.

            1. Hallo,

              meinst du mein Beispiel? Wieso? Ob die Werte sofort zur Verfügung stehen oder diese erst geholt werden müssen ist von mir komplett unterschlagen worden, da ich die Vorgehensweise des Fragenden nicht kannte. Dies hielt ich auch für übergehenswert. Der Teil meiner Antwort ist völlig unabhängig von register_globals on oder off.

              Odium

    2. Hi,

      ich möchte gleich bei dieser Gelegengheit noch eine Frage anschließen, die mich schon länger beschäftigt.

      If($submit)
      isset($submit)

      Warum braucht man "isset()". Man kann doch immer mit if() auf TRUE oder FALSE testen.

      Hat "isset()" noch einen extra Benefit?

      Danke

      1. hi,

        Warum braucht man "isset()". Man kann doch immer mit if() auf TRUE oder FALSE testen.
        Hat "isset()" noch einen extra Benefit?

        mit isset() überprüfst du zunächst einmal, ob die variable überhaupt existiert.
        sie muss ja u.U. gar nicht übergeben worden sein.

        wenn du direkt mit if prüfst, ob die variable irgendeinen wert hat, dann erzeugt dies eine warnung, wenn die variable gar nicht vorhanden ist.
        aufgrund sehr liberaler einstellungen zum error reporting wird diese warnung (oder ist es eine notice?) allerdings oft unterdrückt - sauberer programmierstil ist das aber nicht.

        gruss,
        wahsaga

  2. Guten Morgen,

    Also ich mach das immer mit nem hidden-Feld:

    <input type="hidden" value="action">

    if(!isset($_POST["hidden"]) || $_POST["hidden"] !=="action") {

    echo <<<EOT

    <form name="bewerbung" action="apply.php" method="post">
    <input type="hidden" value="action">
    //Weitere Formelemente
    </form>

    echo EOT;

    }
    else {

    //Hier wird das Formular dann verarbeitet

    }

    action="apply.php?senden=1" method="post" ??????? Wie soll das denn gehen? POST, aber GET-Parameter?

    thomas.

  3. Hi,

    Also das Formular ist in apply.php und die Daten sollen von apply.php verarbeitet werden.
    Wie macht der profi das?

    just do it.

    <form action="apply.php?senden=1" method="post"

    Besser ist es, den Parameter "senden" als <input type="hidden"> zu deklarieren; bei method="POST" um so mehr.

    oder sollte man es besser so machen:

    Du kannst auch "senden=FALSE" oder "hausschuh=42" sagen, wenn es Dir Spaß macht. Wichtig ist nur, dass Du identifizieren kannst, ob das Formular verschickt wurde oder nicht - und ich behaupte, das geht auch ohne einen Zusatzparameter.

    Also besser mit boolean testen oder vielleicht ganz anders?

    Es ist *immer* ein String, den Du bekommst.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes