zelda: formular button doppeltklicken

hallo zusammen,

was passiert eigentlich wenn jemand aus versehen 2x hintereinander auf eine formular button klickt ?

wird das programm (zb.: action='send.php') auch 2 x ausgeführt ?
wie kann man sowas verhindern ?

gruß

  1. Hallo,

    was passiert eigentlich wenn jemand aus versehen 2x hintereinander auf eine formular button klickt ?
    wird das programm (zb.: action='send.php') auch 2 x ausgeführt ?

    Habe ich noch nicht ausprobiert.

    wie kann man sowas verhindern ?

    Mit JavaScript etwa so:

    dein Formular:
    <form action="URI" id="MyForm">…</form>

    JS:
    var angeklickt = 0;

      
    document.getElementById("MyForm").onsubmit = function(){  
    if (angeklickt == 0)  
     angeklickt = 1;  
    else  
     return false;  
    }
    

    mfg. Daniel

  2. echo $begrüßung;

    was passiert eigentlich wenn jemand aus versehen 2x hintereinander auf eine formular button klickt ?
    wird das programm (zb.: action='send.php') auch 2 x ausgeführt ?

    Wenn der Browser daraufhin zwei (oder mehr) Requests absendet wird das zum Request gehörende Gegenstück auch mehrfach ausgeführt.

    wie kann man sowas verhindern ?

    Man kann den Absende-Button nach dem Klick deakivieren, was aber Javascript voraussetzt.
    Serverseitig kann man es verhindern, indem man dem Client ein Identifikationsmerkmal für diesen Formularaufruf mitsendet (Hidden-Feld mit einer eindeutigen Zeichenfolge) und beim Abarbeiten des Requests prüft, ob für dieses Identifikationsmerkmal bereits ein Request bearbeitet wurde.

    echo "$verabschiedung $name";