Alexander Schmidt: Fragen zu action anweisung

Ich habe folgendes Problem.
Ich habe ein Umfrageformular. Klickt der User auf Absenden wird er automatisch zu der Ergebnisseite velinkt. Dieses möchte ich verhindern.

1. Entweder der User bleibt auf der bestehenden Seite
2. Der user wird nach dem Klick zu einer von mir festgelegten Seite weitergeleitet.

Nun die Frage wie schaff ich eine der oben genannten Lösungen so einfach wie möglich umzusetzten?

Die Programmzeile sieht in etwa wie folgt aus:

<form action="http://www.xx.de/cgi-bin/vote.cgi?id=xxt&action=voten2" method="POST">
<input type="hidden" name="daten" value="xx">

Meine Idee war nun die Zeile wie folgt zu ändern

<form action="http://www.xx.de/cgi-bin/vote.cgi?id=xx&action=voten2" method="POST" target="http://www.test.de">
<input type="hidden" name="daten" value="xx">

Nur wie fixiere ich die größe des neuen Fensters auf 0;0?? Das nächste Problem, wie zeige ich dem User, dass die Übermittlung geklappt hat?

Letztlich wäre mir die zweie Lösung mit der weiterleitung zu einer von mir festgeleten Seite wäre mir am liebsten - aber ich glaube ohne Java nicht zu schaffen, oder??

  1. action="http://www.xx.de/cgi-bin/vote.cgi?id=xxt&action=voten2"

    method="POST"

    Eines von beiden ist  falsch. Beides zusammen ist so nicht vorgesehen.

    Timo

    1. Ich kann dir leider nicht ganz folgen.
      Was ist falsch?

      So wie oben wird der User doch zur Seite weitergeleitet. Das möchte ich eben nicht. Die aktion soll im hintergrund erfolgen und der User soll zu einer anderen Seite weitergeleitet werden.

      1. Hi,

        Ich kann dir leider nicht ganz folgen.
        Was ist falsch?

        Du benutzt einen actionverweis mit GetParametern bei einem Postrequest.

        So wie oben wird der User doch zur Seite weitergeleitet. Das möchte ich eben nicht. Die aktion soll im hintergrund erfolgen und der User soll zu einer anderen Seite weitergeleitet werden.

        Du sagts nicht mal womit du das Ganze auswertest. Ich nehem mal an mit PHP?

        Dann wäre eine Headerweiterleitung das Richtige für Dich.

        Timo

        ps. Wie gesagt ein paar Infos wären hilfreich.

        1. Hi,

          Ich kann dir leider nicht ganz folgen.
          Was ist falsch?
          Du benutzt einen actionverweis mit GetParametern bei einem Postrequest.

          Und wie kommst Du darauf, daß bei einem Post-Request keine Parameter in der URL stehen dürften?

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. Hi,

            Und wie kommst Du darauf, daß bei einem Post-Request keine Parameter in der URL stehen dürften?

            Weil ich das vor einigen Jahren auch so gemacht hatte und Probleme
            damit bekam(ihhgitt "bekam" habe ich wohl lange nicht mehr geschrieben sieht irgendwie unschön aus), als ich die Action-Angabe
            leer gelassen habe action="", was ja durchaus legetim ist.

            Beim schmökern fand ich den Hinweis, dass es nicht erlaubt ist Get-Parameter dran zu hängen bei einer Postanweisung. Frag mich aber nicht wo, zulange her. Aber wie ich schon schrieb,  kann es sonst zu einem Problem werden.

            Timo

            1. Beim schmökern fand ich den Hinweis, dass es nicht erlaubt ist Get-Parameter dran zu hängen bei einer Postanweisung.

              Das ist definitiv falsch.

              Aber wie ich schon schrieb,  kann es sonst zu einem Problem werden.

              Nur, wenn du im empfangenden Programm lediglich die POST-Parameter abfragst. Der CGI-Schnittstelle ist scheißegal, ob POST, GET oder beides, sie stellt alle Parameter für die weitere Bearbeitung bereit.

              Siechfred

              --
              Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
              1. Beim schmökern fand ich den Hinweis, dass es nicht erlaubt ist Get-Parameter dran zu hängen bei einer Postanweisung.

                Das ist definitiv falsch.

                Aber wie ich schon schrieb,  kann es sonst zu einem Problem werden.

                Nur, wenn du im empfangenden Programm lediglich die POST-Parameter abfragst. Der CGI-Schnittstelle ist scheißegal, ob POST, GET oder beides, sie stellt alle Parameter für die weitere Bearbeitung bereit.

                Hallo Siechfred,
                Jetzt wirds mal interessant.
                Mal ein Beispiel:

                nehmen wir mal ein Formular:

                <form action="index.php?page=siggi" method="post">

                Welche Seite wird damit aufgerufen? index.php
                Da aber nur die "index.php?page=siggi" in der Lage wäre das Formular abzuarbeiten, gehts in die Hose.

                Timo

                1. Kommando zurück,

                  entweder hat sich da in den letzten 8 jahren etwas geändert oder ich
                  bringe was durcheinander. Tatsächlich wird auch die URL inklusive Parameter trotz post angesprungen. Mensch da hätte ich mir viel Arbeit sparen können bei vielen Anwendungen den getstring extra in hidden felder einzubringen.

                  Danke für die Korrektur.
                  Timo

      2. So wie oben wird der User doch zur Seite weitergeleitet. Das möchte ich eben nicht. Die aktion soll im hintergrund erfolgen und der User soll zu einer anderen Seite weitergeleitet werden.

        So funktioniert HTTP nunmal (Frage - Antwort). Das verarbeitende Script könnte maximal nach Abarbeitung einen Redirect auf die gewünschte Seite ausliefern. Eine Möglichkeit zu deiner ersten Frage wäre AJAX.

        Siechfred

        --
        Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
    2. Hallo,

      action="http://www.xx.de/cgi-bin/vote.cgi?id=xxt&action=voten2" method="POST"

      Eines von beiden ist  falsch.

      nein, höchstens ungewöhnlich. Ob es falsch ist, könnte man nur sagen, wenn man die restlichen Formularfelder und den Code anschaut, der die Formulardaten verarbeitet.
      Grundsätzlich ist es aber möglich, fest vorgegebene Daten als URL-Parameter und die Formularinhalte als POST-Paramter zu übergeben.

      Beides zusammen ist so nicht vorgesehen.

      Sagt wer?

      So long,
       Martin

      --
      Bitte komme jemand mit einem *g* zum Wochenende, damit nicht über mich gelacht wird.
        (Gunnar Bittersmann)