15. december 2003 - 18:22Der er
11 kommentarer og 1 løsning
Datediff - tjekke tid for at undgå spam
Jeg har neden stående til at tilføje i databasen Skal bare lige ha gjort sådan, at den går ind og tjekker navn og dato. For det skal være sådan man kun med 1 times mellemrum kan tilføje i databasen..
Nogen som kan hjælpe lidt, med at fortælle hvordan jeg går ind og tjekker at USERNAME ikke har tilføjet indenfor den sidste time?
Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "Select * From tabel" rs.Open strSQL, Conn, 1, 3
Inden du kommer vidre med session løsningen bør du vide at en session variable er det samme som en cookie og man kan slå session cookies fra som man slår cookies fra. Samt session cookies forsvinder så snart IE lukkes eller den timer ud efter 10-15 minutter (default).
Det du skal gøre er at lave en SQL sætning som tjekker om en bruger har postet noget inden for den sidste time i databasen som du først har lagt op til:
SQL = "SELECT * FROM tabel WHERE DateAdd('n',1,dato) > Now() AND username = '" & Server.HTMLEncode(Request("username")) & "'" Set rs = Conn.Execute (SQL) if rs.EOF then 'Indsæt i DATABASEN eks med sql SQL = "INSERT INTO tabel (username,sodavand,dato) VALUES (" SQL = SQL & "'" & Server.HTMLEncode(Request("username")) & "', " SQL = SQL & "'" & Server.HTMLEncode(Request("sodavand")) & "', " SQL = SQL & "Now()" SQL = SQL & ")" Conn.Execute(SQL) else 'Du må ikke skrive endnu. end if
kolonnen dato skal være af typen Date/Time (Dato/Klokkeslet)
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.