Doppelte Kommentare vermeiden
Vor einiger Zeit gab es – von einem Tag auf den anderen – Timeout-Probleme mit dieser Website, und Apache gab immer häufiger die Fehlermeldung 500 Script error aus. Das Problem ist vorläufig erst einmal durch die Erhöhung des Rechenzeit-Limits gelöst worden, allerdings benötigen dynamische Seiten, die nicht im Cache liegen, unter Umständen immer noch 10-15 Sekunden, bevor sie angezeigt werden.
Besonders auffällig sind seitdem die vielen doppelten Kommentare, die natürlich nur deshalb entstehen, weil sich nach dem ersten Klick auf Abschicken erst mal nichts tut.
Deshalb gibt es hier ab sofort ein visuelles Feedback, das dem User signalisiert, dass der Kommentar gepostet wird und er nicht ein zweites Mal auf den Submit-Button klicken muss. Das ganze funktioniert über zwei CSS-IDs und etwas HTML bzw. Javascript:
CSS:
#spinner {
background-image: url(/images/loading.gif);
position:fixed;
width:60px;
height:60px;
top:50%;
left:50%;
z-index:2100;
}
#waitingoverlay {
display:none;
background-image: url(/images/overlay_white.png);
position: fixed;
z-index: 1000;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
}
HTML/Javascript:
Direkt nach dem body-Tag der HTML- bzw. PHP-Datei, die nach dem Submit aufgerufen wird, fügen Sie folgenden HTML-Code ein:
<div id="spinner"></div> <div id="waitingoverlay"></div>Und am Ende der gleichen Datei, direkt vor dem schließenden