kan du inte bara sätta typ.
Session("spamskydd") = NOW
och sen jämföra nuvarande datum med sessionen när nytt meddelade skall postas?
8 svar · 334 visningar · startad av Bosse168
Använder en MySQL 4.0.18-nt databas och har en tabell som heter datum som är typen datetime.
Jag skulle vilja göra ett spamm skydd som kollar så det måste gå 30 sekunder innan man kan göra ett nytt inlägg för att förhindra spamm.
kan du inte bara sätta typ.
Session("spamskydd") = NOW
och sen jämföra nuvarande datum med sessionen när nytt meddelade skall postas?
if DateDiff("s", cdate(session("spamskydd")), now)<30 then
response.write("Du kan inte posta något inlägg än.")
else
'kan posta inlägg
end if
Jag vill kolla datumet i databasen istället för att skapa massa Sessions i onödan.
Då byter du ut cdate(session("spamskydd")) i min kod mot databasfältets textvärde. Men det är mer prestandaslukande att kolla upp datumet i databasen i stället för att skapa en session.
Inte i ett "community" där det är över 1000 aktiva medlemmar
Okej. Kanske cookies är en bättre lösning i så fall?
Det är ju hur enkelt som helst att ta bort en kaka och så är det ju många som inte accepterar cookies.
Då tror jag inte att det finns så många möjligheter kvar. Testa med att kolla tiden för senaste inlägget mot databasen varje gång en användare postar ett inlägg. Om det tar hårt på din server så får du hitta på något annat, kanske en javascriptlösning.