webForumDet fria alternativet

Förhindar massklick

ASP

7 svar · 183 visningar · startad av fundrusse

Medlem sedan jan. 2002286 inlägg
Frågan#1

Hur förhindrar man att man ska kunna klicka massa gånger på submit knappen. Det ska alltså inte bli en jävla massa inlägg i databasen..

Medlem sedan juni 2001206 inlägg
#2

Ifall du lägger in inläggen i en databas kan du jämföra, innan du lägger in dom, ifall det redan finns en exakt kopia av inlägget.

Alltså:

<%
strsql ="SELECT fldid FROM tblGuestbook WHERE fldMess = '" & Request.Form("mess") & "'"
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db.mdb")
Set RecSet = Connect.Execute(strSQL)
If RecSet.EOF Then
'Det är lugnt, lägg in i databasen
strSQL ="INSERT INTO tblGuestbook (fldMess) VALUES ('" & Request.Form("mess") & "')"
Connect.Execute strsql,,128
Else 
'Nu är det nån som förstör
Response.Write "Det finns redan ett inlägg med samma innehåll!"
end if 

RecSet.Close
Connect.Close
Set RecSet = Nothing
Set Connect = Nothing
%>

Sen går det också disabla submitknappen om man tryckt på den en gång men de är man tvungen att använda JavaScript.

------------------
mvh
Harback
HiFiguiden.nu

[Redigerat av Harback den 01 feb 2002]

Medlem sedan jan. 2002286 inlägg
#3

vet du hur det javascriptet ser ut?
jag vill helst att databasen ska jobba så lite som möjligt...

det javascript jag har nu innan den lägger till det i databasen ser ut så här.

<script language="JavaScript">
function check(){

if (document.gastbok.inlagg.value.length \< 5){
	alert("skriv ett inlägg
	gastbok.inlägg.focus();
	return false;

}
}
</script>

sen har jag onclick på submitknappen.

vet att det är fel forum men jag måste har svar rätt snabbt *leer*

Medlem sedan jan. 2002286 inlägg
#4

Det dumma är ju om man kolla så att ett lika dant inlägg redan finns så kan ju inte nån annan skriva lika dant hos nån annan..

säg att 2 kärlekspar skriver "Älskar dig" flera ggr till varandra.. skulle ju inte funka då.. :/

går det inte kolla om inlägget finns sedan skriva en cookie som jämför tiderna?
isåfall hur?

Medlem sedan juni 2001206 inlägg
#5

Är ingen kung på JavaScript men detta disablar submitknappen efter ett tryck.

<inpyt type="submit" name="button" onClick="this.disabled=true;">

------------------
mvh
Harback
HiFiguiden.nu

[Redigerat av Harback den 02 feb 2002]

Medlem sedan jan. 2002286 inlägg
#6

Nja det verkar inte fugerara riktigt.
testade lokalt då funkar det.. på webservern gör det inte det...

men hur går jag tillväga om jag ska kolla om det finns i databasen sen att man skickas till en fel sida eller att det skrivs en cookie.

Medlem sedan juni 20019 024 inlägg
#7

Fungarar, men submit-knappen kan förbli inaktiv i Opera om man klickar på bakåt:

http://script.webforum.nu/wf/Forum2/HTML/000016.html

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

Medlem sedan juni 2001206 inlägg
#8

Använd min kod och sen skriver du istället för

Response.Write "Det finns redan ett inlägg med samma innehåll!"

skriver du

Response.Clear
Response.Redirect "felsida.asp"

Men kom ihåg att du måste skriva Response.Buffer = True längst upp på asp-sidan!

------------------
mvh
Harback
HiFiguiden.nu

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)