checka in denna funktion: http://script.webforum.nu/wf/Forum1/HTML/000068.html
If CheckLastHereDate(Session("LastDateHere")) < dteDateFromDB Then
....
cya,
PatrikB
13 svar · 274 visningar · startad av His Divine Shadow
Jag undrar hur man kan göra en funktion så att man kan se vad som har uppdaterats sen senaste besöket...
Jag menar om det har kommit en ny post i databasen(har redan så att exakt datum och tid läggs in när en ny post är gjord) sedan sist man besökte sidan(som kollas genom en cookie).
Jag gissar att man kan göra en IF sats som visar en "new" bild om datumet på posten är nyare än datumet i cookien.
Men om man också vill ha en sida som visar nya poster, då måste man väl lägga in det i en SQL sats?
checka in denna funktion: http://script.webforum.nu/wf/Forum1/HTML/000068.html
If CheckLastHereDate(Session("LastDateHere")) < dteDateFromDB Then
....
cya,
PatrikB
Jag antar att det ska vara i en global.asa fil?
Jag fick inte det att funka iaf.
Såhär är koden i global.asa:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
'## -------------------------------------------
'## -- Function:_______ CheckLastHereDate(ByVal LastHereDate)
'## -- Description:____ Check when user last visited the a page
'## -- Date Created:___ January 12, 2001
'## -- Created by:_____ Patrik Berggren
'## -- Contact:________ mrwize@mrwize.nu, [url="http://www.mrwize.nu"]http://www.mrwize.nu[/url]
'##
Function CheckLastHereDate(ByVal LastDateHere)
'## -- check last date here
'## If never been here, set last date here to -20 days --
If LastDateHere = "" Then
'## -- get last visit --
LastDateHere = Request.ccookies("2k1BB")("LastDateHere")
Response.ccookies("2k1BB")("LastDateHere") = Now()
Response.ccookies("2k1BB").Expires = DateAdd("d",365,Now())
'## -- if no cookie was found, set last here date to - 20 days. --
If LastDateHere = "" Then
LastDateHere = DateDiff("d",20,Now())
End If
'## -- store last date here in a session --
Session("LastDateHere") = LastDateHere
End If
'## -- return a last date here --
CheckLastHereDate = LastDateHere
End Function
</SCRIPT>
Men när jag har Checklastdate i en fil så får jag:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'CheckLastHereDate'
/mainframe.asp, line 55
Förresten, jag skulle vilja ha det i en global.asa fil, eftersom jag vill ha en funktion som funkar med hela siten, inte bara en sida.
Nej,
den är inte till för global.asa
utan, den är till för att kontrollera när en besökare var på en viss sida senast.
Du får lägga denna funktion i en sk include fil och inkludera den på de sidor som du skulle behöva ha den på.
cya,
PatrikB
Men då görs väl ett skillt cookie för varje sida dom besöker?
Det är inte vad jag är efter, jag behöver ett script som funkar för hela siten och som kan anropas från alla sidor.
ok,
om du vill ha det på flera olika ställen så kan du ju modifiera funktionen lite så att man kan ha dynamisk namntilldelning av cookie/session
Function CheckLastHereDate(ByVal LastDateHere, sCSName)
'## -- check last date here
'## If never been here, set last date here to -20 days --
If LastDateHere = "" Then
'## -- get last visit --
LastDateHere = Request.ccookies(sCSName & "")("LastDateHere")
Response.ccookies(sCSName & "")("LastDateHere") = Now()
Response.ccookies(sCSName & "").Expires = DateAdd("d",365,Now())
'## -- if no cookie was found, set last here date to - 20 days. --
If LastDateHere = "" Then
LastDateHere = DateDiff("d",20,Now())
End If
'## -- store last date here in a session --
Session(sCSName & "") = LastDateHere
End If
'## -- return a last date here --
CheckLastHereDate = LastDateHere
End Function
Då är det bara att köra olika namn på olika sidor
sida1.asp:
strLastDateHere = CheckLastDateHere(Session("Sida1"),"Sida1")
och på sida 2:
strLastDateHere = CheckLastDateHere(Session("Sida2"),"Sida2")
cya,
PatrikB
Njae, det är inte så jag tänkte det.
En cookie, för hela siten som kan används över hela siten.
Global.asa är den enklaste(kanske enda?) vägen.
Vet du nått ASP script ställe eller forum?
Vad menar du med en cookie för hela siten?
En cookie sparas ju på klienten (besökarens) dator och som du sedan kan kolla/jämföra med olika datum tex.
cya,
PatrikB
Nej, jag menar, det skapas väl en cookie för varje sida man besöker på siten.
Automatiskt?
Nej, det gör det inte.
Det är du själv som måste skapa cookiesarna annars blir det inga.
cya,
PatrikB
Eh....
Vi är inte alls på samma våglängd...
Hursomhelst, efter lite modifiering av scriptet så har jag det att funka i global.asa så nu är det som det ska.
he, he ... nä, verkar inte som det
.. och hur ser de modifieringarna ut??
Posta gärna hur du löste ditt problem så att fler kan ta del av lösningarna.
cya,
PatrikB
Session("CheckLastHereDate(ByVal LastDateHere)")
If LastDateHere = "" Then
LastDateHere = Request.ccookies("2k1BB")("LastDateHere")
Response.ccookies("2k1BB")("LastDateHere") = Now()
Response.ccookies("2k1BB").Expires = DateAdd("d",365,Now())
If LastDateHere = "" Then
LastDateHere = DateDiff("d",20,Now())
End If
Session("LastDateHere") = LastDateHere
End If
CheckLastHereDate = LastDateHere
End Sub
Sådär.
I filen där jag anropar värdet har jag det såhär:
LastDateHere = Session("LastDateHere")
<%=LastDateHere%>