tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
900
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Peter Klein
    Peter Klein Peter Klein ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Beiträge
    614
    Und noch ein thema habe ich, was mich brennend interessiert.

    Wie kann man das mehrmalige absenden von Formulardaten verhindern?
    Wenn man ausversehen mehrmals auf den submit-Button klickt, soll es trotzdem nur einmal versendet werden.

    Gibts da nen Lösungsansatz für?

    Peter
     
    Brillen, Sonnenbrillen und Kontaktlinsen

    "Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."

  2. #2
    Avatar von SnEaKy
    SnEaKy SnEaKy ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Hattersheim
    Beiträge
    219
    Ich würde das mittels JavaScript lösen und einfach die Schaltfäche disablen.
     
    Die Welt ist binär: Entweder man ist eine Eins oder eine Null, tot oder lebendig! - Und ich? Lebe...

  3. #3
    Avatar von Peter Klein
    Peter Klein Peter Klein ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Beiträge
    614
    Hi

    Hm,..von JavaScript habe ich ja noch weniger Ahnung.

    Was ist den wenn der Benutzer JavaScript ausgeschaltet hat?Dann kann man diese Lösng ja auch canceln denke ich mal.
     
    Brillen, Sonnenbrillen und Kontaktlinsen

    "Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."

  4. #4
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Eine ganz einfache Lösung wäre auch das setzen von einer Session-Variable
    oder einem Cookie ob schon einmal das Formular gesendet wurde.

    Falls du eine Serverbasierte Lösung willst müsstest du dir schon IP und Datum
    des Absenders merken und das ganze speichern und abgleichen.

    Ich denke aber die erste Lösung reicht schon

    lg
     

  5. #5
    Avatar von Peter Klein
    Peter Klein Peter Klein ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Beiträge
    614
    Würde die serverseitige Version vorziehen.

    Wie würde der Vergleich denn ungefähr aussehen? Also von der Logik her?
     
    Brillen, Sonnenbrillen und Kontaktlinsen

    "Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."

  6. #6
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Mensch hier schläft ja alles ein wenn man nichts schreibt
    Dachte andere helfen evt auch mal...

    Besteht das Problem noch?

    Ich würde mir die aktuelle IP mit dem dazugehörigen Formularnamen und der Uhrzeit in eine mySQL-Tabelle speichern und dann beim Formularaufbau gucken ob die IP in den letzten x Minuten schonmal einen Eintrag bekommen hat... Ganz einfach.

    Aber der Aufwand ist trotzdem höher als alles in eine Session zu speichern.
    Ich meine wer hat schon lust immer den Browser neu zu starten nur um dich zu ärgern und die Formulardaten öfter zu senden?!

    Ansonsten evt noch ne Captcha-Lösung?!
    Dann muss man halt öfter den "Sicherheitscode" eingeben...

    lg
     

  7. #7
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    IP muß nicht eindeutig sein....
    1 router oder netzwerk 2-x.000 rechner werden von dem script alle unter der gleichen ip erkannt.
    PHP-Code:
    $message md5($_POST["nachricht"]....);
    $kontrollstring substr($message20);
    /// DB connect...
    $query "select * from ... where kontroll = '".$kontrollstring."' && timestamp < ".time()-*;
    if(empty(
    mysql_fetch_assoc(mysql_query($query))){
    // führe aus
    $query "insert into .... (timestamp, kontroll) values (".time().", "'.$kontrollstring."'")";
    mysql_query($query);
    }
    // FEHLER 
     

  8. #8
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Ja da hast du recht.
    Bei deinem Script änder ich aber auch nur 1 Zeichen der Nachricht und schon kann ich das Formular nochmal senden...

    lg
     

  9. #9
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    Wenn in einem Blog oder forum relativ viel und schnell nachrichten versendet werden, kannst du via ip jedoch auch dinge blockieren, die schon sinn beinhalten...
    Bots senden meist die selben inhalte....
    Es werden die daten nicht verarbeitet nur weil man mal wieder auf refresh drückt...
    Bei AOL oder vereinzelten anderen Anbietern, bekommt man immer mal wieder schnell ne neue ip zugewiesen...
    Am meisten sinn, beinhaltet wohl ein mix aus beidem ip auf zeit und md5 kontrollwert...

    Perfekt gibt es meist nie, jeder hat eine andere Vorstellung...
    Kurz und knapp viele wege führen nach Rom...
     

  10. #10
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Zitat Zitat von Klein0r Beitrag anzeigen
    Eine ganz einfache Lösung wäre auch das setzen von einer Session-Variable […]
    Was ist an dieser Methode auszusetzen?
     
    Markus Wulftange

  11. #11
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    Ist bei Sessions nicht das akzeptieren von Cookies ein muß?
    Falls ja, ist dies ein Kriterium was dagegen sprechen würde...
     

  12. #12
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Die Sitzungs-ID kann auch in der URL oder mittels eines versteckten Formularelements übertragen werden.
     
    Markus Wulftange

Ähnliche Themen

  1. Direktes Absenden eines Formulars verhindern
    Von bertiSR im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 21.08.09, 16:58
  2. mehrfaches ausloggen verhindern
    Von Sketty im Forum PHP
    Antworten: 11
    Letzter Beitrag: 11.11.08, 14:41
  3. Antworten: 7
    Letzter Beitrag: 30.11.07, 15:01
  4. Form: Absenden verhindern
    Von Raven280438 im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 19.10.07, 08:42
  5. Antworten: 16
    Letzter Beitrag: 21.05.06, 12:24