29. marts 2005 - 11:20Der er
8 kommentarer og 1 løsning
Email tjek - tillad begrænset antal
Jeg har en formular hvor jeg tjekker om emailen allerede findes i databasen, og hvis den gør kan man ikke afsende formen.
Nu vil jeg gerne tillade at folk kan tilmelde sig 3 gange pr. email. Kan man det? Og har I nogen idé om hvor krævende det er for systemet?
Min kode ser således ud:
set rs9 = server.createobject("adodb.connection") tjek = "select email from TABEL where email = '"& request.form("email") & "'" rs9.open DSN set rs9 = rs9.execute(tjek) if rs9.eof then
du skal enten lave et felt i din tabel, hvor du tæller antallet af gange en email er registreret ellers skal du bare adde flere i din database, og så bare tjekke antallet i din sql:
tjek = "select COUNT(*) AS antal from TABEL where email = '"& request.form("email") & "'"
hvis rs9("antal") > 3 så kan emailen ikke tilmeldes.
Jeg ville også vende if sætningen om, men det er en smags sag. if rs9("antal") < 3 then 'Tilmeld mail ... else 'er tilmeldt 3 gange allerede ... end if
Okay, fint. Men da jeg er en klovn til at flette betingelser kunne du så ikke hjælpe. Det er meget vigtigt det virker, da DB'en er i brug. Og derfor vælger jeg ikke at tilføje noget i DB'en, men bruge din count. Hele koden ser ala således ud:
set rs9 = server.createobject("adodb.connection") tjek = "select email from TABEL where email = '"& request.form("email") & "'" rs9.open DSN set rs9 = rs9.execute(tjek) if rs9.eof then 'emailen findes ikke i forvejen
-- sidens indhold --
'afslut email tjek else response.write "<FONT face=Verdana size=2>E-mailen findes allerede <b>" & VarDobbeltMail end if
Det er nok ikke så heldigt at du starter med at teste det på en side der er LIVE, så du bør nok teste det gørst i et udviklingsmiljø. Men her er et bud på det.
set rs9 = server.createobject("adodb.connection") tjek = "select COUNT(*) AS antal from TABEL where email = '"& request.form("email") & "'"rs9.open DSN set rs9 = rs9.execute(tjek) if rs9("antal") < 3 then 'emailen findes ikke i forvejen
-- sidens indhold --
'afslut email tjek else response.write "<FONT face=Verdana size=2>E-mailen findes allerede <b>" & VarDobbeltMail end if
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.