KKlasOMedlem sedan apr. 200257 inlägg Hej!
Håller på med "markera olästa inlägg" i ett forum. Jag har denna kod, men får inte ordning på det
Om man kör sida två direkt skrivs "Oläst" ut pga det finns ingen cookie...så långt allt väl...sedan om man kör sida 1 och sid 2, då det finns en cookie(från sida 1), så skrivs "läst" ut"(vilket stämmer med datumen), men jag får den aldrig att skriva ut "Oläst 2"(denna ska skrivas ut om datumet i cookisen är äldre än det datum som hämtas från databasen, vilket inträffar om tex ngn skriver i en tråd som man varit i tidigare) varför jag börjar tro att det är något fel i denna villkorssats:
If Request.Cookies("sql")(cStr(RecSet("ID"))) < RecSet20("datum")
---
"datum" i databasen hämtas mha Now() (så det finns både tid och datum)
På sida 1:
<% 'Denna kod finns i filen då man läser ett inlägg:
'########### Lägger ett nytt datum i cookien.
dim new_datum
new_datum = Now()
Response.Cookies("sql")(cStr(Request.QueryString("idnummer"))) = new_datum
Response.Cookies("sql").Expires = "December 10, 2009" %\>
På sida 2:
<%
' ####### Kontroll för att se om inlägget är läst sedan tidigare.
dim id_nummer
id_nummer = RecSet("id")
If Request.Cookies("sql")(cStr(id_nummer) = "" Then ' ###
'Finns ingen cookie.
Response.Write "Oläst" ' Visar inlägget som oläst.
Else ' ######## Finns en cookie, kollar på datumet.
If Request.Cookies("sql")(cStr(RecSet("ID"))) \< RecSet20("datum") Then
Response.Write "Oläst 2" ' Visar inlägget som oläst.
Else
Response.Write "Läst" ' Visar inlägget som läst.
End If
End If
%>
@ndersMedlem sedan juni 200032 967 inläggJag gissar att det är ett subtypsproblem. Prova att lägga till en typkonvertering i jämförelsen:
If IsDate (Request.Cookies("sql")(cStr(RecSet("ID")))) then
if Cdate(Request.Cookies("sql")(cStr(RecSet("ID")))) < CDate(RecSet20("datum")) then
' OK!
end if
End if
Mvh,