Man kan ju hindra att de skrivs ut från datbasen i select ssatsen.
Är det nån som har ett bra förslag på hur man slipper dubbla inlägg?
10 svar · 258 visningar · startad av Lukaspojken
Är det nån som har ett bra förslag på hur man slipper dubbla inlägg?
Man kan ju hindra att de skrivs ut från datbasen i select ssatsen.
Hmmm...då kanske man skulle kunna göra en delete-sats vid insert:en istället. Man öppnar databasen och ser om en dubblett finns. Om det gör det så lagras inte den nya. Är det en bra lösning?
Jag har funderat på eventuellt att använda mig av cookies också. Där jag lagrar delar av det senaste inlägget som användaren gjort. Då kan man bara checka av det.
Man öppnar databasen och ser om en dubblett finns. Om det gör det så lagras inte den nya. Är det en bra lösning?
Vad händer om någon som skriver ett helt nytt inlägg använder samma ämne i medelandet, tex databas?.
Det finns en liten JavaScript snutt man kan applicera på ett forumlär som inaktiverar submit-knappen:
<SCRIPT LANGUAGE="JavaScript">
<!--
function disableForm(theform) {
if (document.all || document.getElementById) {
for (i = 0; i < theform.length; i++) {
var tempobj = theform.elements[i];
if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
tempobj.disabled = true;
}
return true;
}
}
// -->
</SCRIPT>
Och på formuläret:
<FORM ACTION="post_info.asp" METHOD="post" NAME="PostTopic" onSubmit="return disableForm(this);">
red: Har även lagt till den i wF script eftersom den efterfrågas ofta.
[Redigerat av Pace den 11 nov 2001]
jag fick höra att från en av modem-användarna att problemet inte ligger i att de klickar för många gånger...
De klickar på submit en gång och därefter så blir det blankt...inget laddas. Då går de förmodligen tillbaka till sidan genom bakåt-knappen på browsern och klickar på submit igen. Hur löser jag det?
Jag använder en simpel lösningen med en sessionsvariabel med datum som ändras då personen har postat ett inlägg. Är skillnaden mellan sessionsvariabelns-datumet och Now() mindre än 30 sec stoppas inlägget.
Typ så här:
TimeSinceLastPost= DateDiff("s", Cdate(Session("POST_TIME")),Now())
If TimeSinceLastPost < 30 Then
Response.Write "Stopp"
Response.End
Else
Session("POST_TIME") = now()
End If
Det verkar vara en bra lösning...tack
Kolla på serversidan om det finns ett inlägg med samma eller ungefär samma innehåll, titel och författare som gjorts de senaste fem minutrarna eller liknande.
Det är det bästa eller, spango? Hmmm...lite smart faktiskt
Jag tycker det är smart, i alla fall
Det bra är att det inte förhindrar att man gör många inlägg samtidigt, samt att det inte kräver något speciellt från användaren.