Andreas: mit Enter bestätigen ?

Hallo,
ich habe folgendes Problem:
Wenn ich eine Passwortabfrage mit einem Mausklick auf den Button bestätige funktioniert alles einwandfrei.
Sobalt ich aber das Passwort mit der Enter Taste bestätige, leitet mich das Script zwar auch weiter nur erkennt er dann keine Variablen.
Wie kann ich ereichen das er das "name" und "value" Feld des Buttons auch mit der Entertaste überträgt?
Oder kann und sollte ich die Entertaste sperren?

MfG. Andreas

  1. Wenn ich eine Passwortabfrage mit einem Mausklick auf den Button bestätige funktioniert alles einwandfrei.
    Sobalt ich aber das Passwort mit der Enter Taste bestätige, leitet mich das Script zwar auch weiter nur erkennt er dann keine Variablen.
    Wie kann ich ereichen das er das "name" und "value" Feld des Buttons auch mit der Entertaste überträgt?

    a) Art der Passwortabfrage (HTTP oder HTML-Formular)?
    b) Im Zieldokument die Variablen mit phpinfo() geprüft?
    c) Welcher Browser?
    d) Wo kann man sich das Phänomen anschauen (am besten mit b)?

    Gruß,
      soenk.e

    1. das läuft alle zur Zeit auf meinem Rechner.
      Es läuft über ein HTML Formular
      Browser = IE

      Andreas

      Wenn ich eine Passwortabfrage mit einem Mausklick auf den Button bestätige funktioniert alles einwandfrei.
      Sobalt ich aber das Passwort mit der Enter Taste bestätige, leitet mich das Script zwar auch weiter nur erkennt er dann keine Variablen.
      Wie kann ich ereichen das er das "name" und "value" Feld des Buttons auch mit der Entertaste überträgt?

      a) Art der Passwortabfrage (HTTP oder HTML-Formular)?
      b) Im Zieldokument die Variablen mit phpinfo() geprüft?
      c) Welcher Browser?
      d) Wo kann man sich das Phänomen anschauen (am besten mit b)?

      Gruß,
        soenk.e

      1. kann ich mit der Entertaste Werte übertragen ?
        Oder was geschieht überhaupt wenn man die Entertaste drückt ?
        Dann hätte ich das Problem gelößt. :)

        Andreas

        1. kann ich mit der Entertaste Werte übertragen ?
          Oder was geschieht überhaupt wenn man die Entertaste drückt ?

          Was geschieht, hängt vom Browser ab. In den meisten Fällen entspricht das aber exakt dem, was passiert, wenn man den Abschicken-Knopf mit der Maus betätigt.
          Insofern kann ich für meinen Teil ohne Beispielseite (bzw. Einsicht in den relevanten Teil des Codes) nur vermuten, daß Du eventuell mehrere Formulare auf der Seite hast. Was mich davon abgesehen noch stutzig macht:

          Wie kann ich ereichen das er das "name" und "value" Feld des Buttons auch mit der Entertaste überträgt?

          Der Absende-Knopf, den Du hier wahrscheinlich mit "Button" meinst, hat keine name- und value-Felder, die übermittelt werden. Übermittelt werden nur Namen und Inhalte der beiden Felder <input type=text> und <input type=password>.
          Vielleicht liegt hier also auch ein Mißverständnis der Formularfunktion vor. Wie gesagt, ohne Beispielseite..

          Gruß,
            soenk.e

  2. Hallo,

    Tach,

    ich habe folgendes Problem:
    Wenn ich eine Passwortabfrage mit einem Mausklick auf den Button bestätige funktioniert alles einwandfrei.
    Sobalt ich aber das Passwort mit der Enter Taste bestätige, leitet mich das Script zwar auch weiter nur erkennt er dann keine Variablen.
    Wie kann ich ereichen das er das "name" und "value" Feld des Buttons auch mit der Entertaste überträgt?

    Es wird IMMER nur der Submitbutton übertragen, der auch tatsächlich betätigt wurde (es kann ja mehrere geben).

    Ändere Dein auswertendes Script entsprechend, daß es nicht auf das Name/Value-Pärchen des Buttons angewiesen ist.
    Nimm z.B., falls nichts übertragen wird, das name/value-Pärchen des ersten Submitbuttons als Default-Wert.

    Oder kann und sollte ich die Entertaste sperren?

    Offensichtlich kannst Du es nicht, sonst würdest Du nicht danach fragen.
    Und nein, Du solltest es auch nicht.
    Erstens würde das nur bei Vorhandensein einer clientseitigen Technik (wenn überhaupt) funktionieren und zweitens verunsicherst Du dadurch die Seitenbesucher, wenn Du ihnen gewohnte Navigationsmittel wegnimmst.

    Andreas

  3. Hallo,
    ich habe folgendes Problem:
    Wenn ich eine Passwortabfrage mit einem Mausklick auf den Button bestätige funktioniert alles einwandfrei.
    Sobalt ich aber das Passwort mit der Enter Taste bestätige, leitet mich das Script zwar auch weiter nur erkennt er dann keine Variablen.
    Wie kann ich ereichen das er das "name" und "value" Feld des Buttons auch mit der Entertaste überträgt?
    Oder kann und sollte ich die Entertaste sperren?

    MfG. Andreas

    Hi Andreas,

    könnte es sein, dass sich mit der return-Taste auch ein return in deine Daten schummelt? Versuche doch mal ein
    $sauberes_passwort = trim($passwort);

    trim entfernt "\n", "\r", "\t", "\v", "\0", leerzeichen.

    Oder kriegst du GAR keine Daten? Ist da nur EIN Formular auf der Seite?

    Bassig,
    Benjamin

    1. ich habe es jetzt hinbekommen!
      Statt den namen des Buttons abzufragen, frage ich einfach nur noch die Eingabe ab.
      if(isset($pwort))

      Andreas

      1. ich habe es jetzt hinbekommen!
        Statt den namen des Buttons abzufragen, frage ich einfach nur noch die Eingabe ab.
        if(isset($pwort))

        Das wollte ich Dir auch gerade auf Dein Ausgangsposting antworten. Die Abfrage der Button-Namen macht nämlich nur Sinn, wenn man in EINEM Formular mehrere Buttons verwendet. Dann kann man je nach angeklicktem Button eine andere Aktion ausführen.

        Wenn Du einen grafischen Button (<input type="image">) benutzt hast, liegt es am Feldnamen, den der Browser übergibt. Einige Browser übergeben dann nämlich die Koordinaten des Klicks in Verbindung mit dem Buttonnamen. Also buttonname.x und buttonname.y, was in PHP wiederum als $buttonname_x bzw. $buttonname_y abzufragen ist. Der "Value" geht in diesem Fall IMHO verloren.

        viele Grüsse
        Achim Schrepfer