Doppelte Nachrichten

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Doppelte Nachrichten

Beitrag von Dungeonwatcher »

Moin! :cool:

Es gibt bei mir im Forum 2 User, welche es immer wieder schaffen das ihre Nachrichten doppelt im Forum stehen. Eine wirkliche Erklärung wie sie dies anstellen haben sie nicht und mir geht es genauso. ^6

Das Einzige was mir dazu einfällt ist, das diese beiden direkt nach dem Senden ihrer Nachricht den "Zurück" Button des Browsers nutzen und dadurch die Aktion "Nachricht Senden" durch den Browser Cache erneut ausführen. Die Benutzung dieser "Zurück" Funktion des Browsers wurde mir bestätigt. Abgesehen davon, das ich die Logik dieser User Aktion nicht verstehe, wie kann ich verhindern das eine soeben gesendete Nachricht nochmal in die Datenbank eingetragen wird?

Bye
Zuletzt geändert von Dungeonwatcher am Mo 02.Mär, 2009 08:03, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Eigentlich macht genau das Forum das nicht. Hier muss ein Javascript bei Dir das Submit erneut auslösen.
Das kenne ich allerdings nicht.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Hi! :cool:

Dann bleibt nur der Post Is Sending Mod übrig. Er soll mittels dieser Zeile JavaScript einen versehentliche Doppelklick auf den "Senden" Button ignorieren:

Code: Alles auswählen

 setTimeout("document.post.post.disabled = true; document.post.post.value='{L_SENDING}'", 0);
Das ganze sieht dann so aus:

Code: Alles auswählen

function checkForm() {

	formErrors = false;

	if (document.post.message.value.length < 2) {
		formErrors = "{L_EMPTY_MESSAGE}";
	}

	if (formErrors) {
		alert(formErrors);
		return false;
	} else {
		bbstyle(-1);
		//formObj.preview.disabled = true;
		//formObj.submit.disabled = true;
		setTimeout("document.post.post.disabled = true; document.post.post.value='{L_SENDING}'", 0);
		return true;
	}
}
^6

Gibt's dafür evtl. 'ne bessere Lösung?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich würde den Return Wert vielleicht noch anpassen. Also mal ins Unreine:

Code: Alles auswählen

if (document.post.post.disabled = true)
{ return false; } else { return true; }
Vielleicht hilft das...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Moin! :cool:

Hmmm, ich habe dieses Verhalten jetzt bei diversen PHPBB Foren reproduzieren können, inkl. auf www.phpbb.de. An JavaScript kann es daher wohl nicht liegen.

Probiere bitte mal folgendes aus. Schreibe auf irgend eine Nachricht eine Antwort und sende sie. Dann blättere per Browser Zurück Button soweit zurück, das du diese Nachricht nochmals senden kannst und sende sie einfach noch einmal. Das klappt auf allen von mir getestet Foren problemlos.
Nur wie lässt sich dieses Verhalten vom Browser und/oder des Forems beeinflussen?

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn man bewusst zurück geht, kommt man klar wieder auf das Erfassungsformular.
Wenn, dann müsste man versuchen, die Historie des Browsers mit dem Absenden des Posts zu leeren.
Allerdings ginge das wiederum nur mit Javascript und das kann der User ja deaktivieren...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Entschuldige mal bitte, kann man den Usern nicht beibringen, dass sie nicht zurück klicken und dann auch noch die Mitteilung NOCHMAL losschicken?
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Antworten