tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
835
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    lsblsb lsblsb ist offline Mitglied
    Registriert seit
    May 2003
    Beiträge
    18
    <form action="sessions.php" method="get">
    <input type="hidden" name="sid" id="sid" value="<?php echo($sess_id); ?>" />
    <input type="image" src="img/go_button.gif" name="submit" id="submit" value="weiter" />
    </form>

    Damit rufe ich die seite neu auf und reiche die ang. variable weiter.

    Problem:

    Wenn der user (bzw. ich) so oft und schnell auf den weiter-button drückt, das die seite nicht dazu kommt die nächste schnell genug zu laden bevor mein nächster klick kommt, dann werden irgendwie die werte in sid nicht weitergegeben und ich grieg nen leeren string auf der nächsten seite, was in meinem fall dazu führt, das eine neue Session id in die Datenbank geschrieben wird.(die session funktionalität ist selbst programmiert).

    kann ich das irgnedwie verhindern?
     

  2. #2
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    Dann unterbinde das mehrfache klicken einfach durch ein Javascript
     
    Moep :)

  3. #3
    lsblsb lsblsb ist offline Mitglied
    Registriert seit
    May 2003
    Beiträge
    18
    mm. und wie würdest du das machen****

    wär ok mit js, auch wenn ich eigentl alles in ndie klasse packen wollte..
     

  4. #4
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    Hi,

    Du fügst einfach ein neues Hidden-Feld hinzu:
    Code :
    1
    
    <input name="check" type="hidden" value="0">

    Im OnClick-Ereignis des Senden-Buttons überprüfst Du, ob der Wert im Hidden-Feld 0 ist. Wenn Ja, dann sende (return true ansonsten brich ab (return false)

    Bsp:
    Code :
    1
    
    <input type="image" src="img/go_button.gif" name="submit" id="submit" value="weiter" onClick="if (document.formname.check.value == 0) {return true;} else {return false;}">

    Statt formname trägst Du den Namen des Formulars ein (musst Du laut Deinem Codeschnipsel noch vergeben.

    Ich hoffe, dass ich helfen konnte.

    mfg, snuu
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

  5. #5
    lsblsb lsblsb ist offline Mitglied
    Registriert seit
    May 2003
    Beiträge
    18
    Leider ****t das script so nich.

    ich glaub ich muesste das ganze script posten, das man versteht was ich mein.

    irgendwie muss durch das oftmalige drücken von senden das php-script unterbrochen werden und setzt dann werte nich oder so
    Geändert von lsblsb (22.05.03 um 17:18 Uhr)
     

  6. #6
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    Das wirste ohne Javascript nicht hinbekommen!
    Ein Formular kann man ganz einfach so oft abschicken wie man will,
    das kannste nicht unterbinden!
    Lasst mal das Javascript (kann man ausschalten), das ist Quark!
    90% der User wissen nichtmal was Javascript ist, geschweige wie man es ausschaltet!
    Davon abgesehen wieso sollte es einer ausschalten, wenn es einer macht dann weiss er was er macht!
    schreib einfach ein kleinen Text drunter -> Javascript wird benötigt
    und Ende!
     
    Moep :)

  7. #7
    Avatar von bn
    bn bn ist offline Mitglied Brokat
    Registriert seit
    Oct 2002
    Ort
    Berlin
    Beiträge
    395
    ich leite die user nach erfolgtem submit zeitverzögert weiter auf die nächste seite. das geht sowohl mit html (header refresh) als auch mit js (settimeout()).

    cu bloddy
     
    Eine Lösung hätte ich schon, aber sie passt nicht zum Problem.

  8. #8
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    Der Header-refresh wird nicht immer von allen Browsern unterstützt! mach einfach ein Javascript
     
    Moep :)

  9. #9
    lsblsb lsblsb ist offline Mitglied
    Registriert seit
    May 2003
    Beiträge
    18
    also ist dieses problem bekannt - was zusammenarbeit mit php angeht?
     

  10. #10
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    Hallo,

    ich weiß ja nicht, worum es in Deinem Script genau geht, aber letztendlich hat ein "böswilliger" Anwender ohnehinn die Möglichkeit das Script mehrmals hintereinander aufzurufen. Wenn das Probleme aufweisen sollte, müßtest Du das natürlich im Script abfangen. (Reload-Sperre für einen best. Zeitraum für eine IP)

    mfg, snuu
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

  11. #11
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    Meint ihr nicht das es ein wennig overkilled ist, wenn ihr da allen möglichen Schnickschnack einbaut?
    Er will doch nur das bei einem Submit keine neue Session-Id eingetragen wird!
    Übertreiben kann man es immer, die frage ist nur ob es sich auch lohnt!
    andere Frage, wofür brauchste überhaupt die Session?
     
    Moep :)

  12. #12
    lsblsb lsblsb ist offline Mitglied
    Registriert seit
    May 2003
    Beiträge
    18
    mmpf. naja. eem. ich hab ja wiegesagt die session-verwaltung selbst geschrieben und verwende dabei keine php-session-funktionen.

    im grunde genommen macht es theoretisch auch nichts aus, wenn mal 4 oder 5 ids mehr in die datenbank vom gleichen user geschrieben werden, die laufen dann sowieso ab und werden gelöscht. nur - will ich ein optimiertes system.

    ich glaube ich muss einfach mal das script posten ?
     

  13. #13
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    als Anhang wäre nicht schlecht
    aber ne antwort kann ich dir nicht garantieren!
     
    Moep :)

  14. #14
    lsblsb lsblsb ist offline Mitglied
    Registriert seit
    May 2003
    Beiträge
    18
    können wir das auch per icq regeln ? ich "ruf dich ma an"
     

  15. #15
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    Ich denke nicht, dass es auf eine Session mehr oder weniger ankommt. Außerdem tut's doch die vorgeschlagene JavaScript-Lösung doch auch
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

Ähnliche Themen

  1. JSP Loginformular Erneutes Senden der Logindaten Verhindern
    Von devilmc im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 01.10.10, 12:37
  2. mehrmaliges ausführen verhindern,...
    Von JesusFreak777 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 22.06.08, 13:25
  3. Flooden verhindern, senden erst nach 2 sekunden
    Von ASD20054 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 14.11.07, 16:53
  4. Mehrmaliges Ausführen verhindern
    Von celph_titled im Forum Java
    Antworten: 4
    Letzter Beitrag: 11.09.07, 16:04
  5. erneutes Senden von $_POST verhindern
    Von Katzehuhn im Forum PHP
    Antworten: 7
    Letzter Beitrag: 16.12.05, 10:47