webForumDet fria alternativet

Bara bild for det forum med nytt inlagg!

ASP

16 svar · 397 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Frågan#1

Hej!

Sitter och forsoker klura ut hur jag ska gora for att fa min lilla "skriva-ut-bild-for-nya-inlagg" att funka korrekt. Just nu visar den nya-bilden for alla forum aven om det bara ar postat i ASP tex... Anyway, har nu gjort sa att en cookie skrivs med info forumID, beroende pa vilket forum man ar i. Det gor den, men vet inte hur jamforelsen ska vara pa forstasidan sa den visar ny/gammal bild for just det forumet...

forumID = Request.Cookies("latest")("forumID")
	kaka = Request.cookies("latest")("senast")
	Datum = rs("f_latest")

	Datumet = Now()

	If kaka = "" then
	Response.Cookies("latest")("senast") = rs("f_latest")
	End if

	differens = datediff("n",Datum,kaka,forumID)

If differens > 0 then
	bild = "<img src=""old.gif"" alt=""Inga nya inlagg!"">"
	else
	bild = "<img src=""new.gif"" alt=""Nya inlagg!"">"
End if
Medlem sedan mars 20015 287 inlägg
#2

Du måste väl ha en cookie för varje avdelning?
Och sen på förstasidan kolla alla cokkies.
(Alt. om du bakar ihop allt i en cookie.)

Som det är nu sparas väl bara det senaste forumets id i din cookie? (Och i så fall är det ju bara det som cookisen minns.)

Medlem sedan dec. 20002 526 inlägg
#3

okey... sa har ser det ut pa forstasidan:

forumID = Request.Cookies("forumID")
	kaka = Request.cookies("senast")
	Datum = rs("f_latest")

	Datumet = Now()

	If kaka = "" then
	Response.Cookies("senast") = rs("f_latest")
	End if

	differens = datediff("n",Datum,kaka,forumID)

och nar man postar nytt svar:

Response.Cookies("senast") = Datumet
Response.Cookies("forumID") = forum
Response.Cookies("tradID") = thread

och sedan pa nar man laser en trad:

Response.Cookies("tradID") = TradID
Response.Cookies("forumID") = Forum
Response.Cookies("senast") = Datumet

ar detta nagot vettigt? hur ska jag "binda" samman allt?!

Medlem sedan dec. 20002 526 inlägg
#4

nobody? (forlat om jag stressar, men sitter fast med detta nu och behover fa det att funka!)

Medlem sedan dec. 20002 526 inlägg
#5

plz.... ingen som har den blekaste?

Medlem sedan nov. 20017 144 inlägg
#6

Vad menar du med "binda ihop"?
Det du kan göra är att baka ihop kakorna kanske (till en bulldeg)

Response.Cookies("dinkaka")("senast") = Datumet
Response.Cookies("dinkaka")("forumID") = forum
Response.Cookies("dinkaka")("tradID") = thread

'Sätta ett utgångsdatum 'måste' man ju göra

Response.Cookies("dinkaka").Expires = Cdate("2015-01-01")
Medlem sedan mars 20015 287 inlägg
#7

Jag är ingen hejare på cookies, men blir det inte som så nu att om Nisse knallar in på aspforumet uppdateras cookiesen med
Response.Cookies("dinkaka")("forumID") = forum = asp
samt datum mm.

Alltså är cookiesen satt på just aspforumet.

Sen när Nisse återkommer till forumet är det ju bara aspforumet som kan kollas, eller?

Jag skulle tro att man måste sätta cookiesen på dylikt sätt:

Response.Cookies("dinkaka")(forumID & "_forumID") = forum

Notera avsaknaden av fnuttarna i cookiesen.
Vilket medför, väl, att jag får mig en kaka för aspforumet, en annan för grafikforumet osv.
(O sen samma sak med datumcookiesen osv.)

När man sen på förstassidan ska kolla status för alla formum får man väl helt enkelt loopa igenom alla forumid som finns för att plocka ner alla kakor.

Detta skulle väl iofs kunna gå att göra med en stor, sammansatt kaka i stället.

BTW dom säljer Pepparkaksdeg för 11:90 per ½-kg på MAXI i Botkyrka, det är billigt det!
:)

Medlem sedan dec. 20002 526 inlägg
#8

hmm.... hanger inte med alls just nu.... finns det inget "enklare" satt??? nagon som har en annan "fran borjan beskrivning"?

:)

solbulle, kan du kopa och skicka till mig har i states? :D

Medlem sedan dec. 20002 526 inlägg
#9

hmm... kollade scriptarkivet och hittade nagon funktion fran PatrikB har, kan det vara nagot? Hur ska man baka in bilder osa? Kan nagon forklara? ;)

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.cookies("2k1BB")("LastDateHere")
Response.cookies("2k1BB")("LastDateHere") = Now()
Response.cookies("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
Medlem sedan apr. 20003 174 inlägg
#10

På min sida har jag löst det så här:

På sidan med inlägget använder jag denna kod:

[RED]Response.Cookies("kaknamn")(""& intID &"") = strDate[/RED]

intID = ID´t för just det inlägget
strDate = Datumet då inlägget gjordes.

På sidan som listar alla inläggen använder jag denna kod:

[RED]If cDate(strDate) > cDate(Request.Cookies("kaknamn")(""& intID &"")) Then
    'nytt inlägg

Else
	'gammalt inlägg

End If[/RED]

intID = ID´t för just det inlägget.

Medlem sedan dec. 20002 526 inlägg
#11

pa forstasidan, dvs sidan som listar tillgangliga forum:

forumID = rs("forumID")
	strDate = rs("f_latest")

	If request.Cookies("kaka")("" & forumID &"") = "" then
	response.cookies("kaka")("" & forumID &"") = rs("f_latest")
	else

If cDate(strDate) > cDate(Request.Cookies("kaka")(""& forumID &"")) Then
    bild = "<img src=""new.gif"">"

Else
	bild = "<img src=""old.gif"">"

End If
End if

sedan sidan som lagger in svar i en trad:

Response.Cookies("kaka")(""& forum &"") = Datum

Datum = Now()

far inga felmess osa, vill bara kolla om jag fattat ratt, just nu kan jag namligen inte lasa tradar, nagot som ar helkonstigt!!! aja, ar det sa eller?

Medlem sedan apr. 20003 174 inlägg
#12

Jo, det ser rätt ut.. den första delen ska ju då ligga innuti loopen som loopar ut alla inläggen. :)

Att du inte kan läsa trådarna förstår jag inte.. :l

Medlem sedan dec. 20002 526 inlägg
#13

vilken del menar du ska ligga i loopen?

felet att jag inte kunde lasa tradarna var ett slarvfel, hade fatt till pa nat satt sa det blev en redirect om inte querystringen inte innholl nagot for en viss grej :r

[r]
du, ska man inte skapa en ny kaka varje gang? Jag menar annars blir det val fel i den stora kakan, eller har jag fel? Jag kanske inte hanger med... :r

Medlem sedan dec. 20002 526 inlägg
#14

okey, fick det att fungera perfekt tror jag, men tror ni inte att crisse skulle pilla lite extra for att testa lite? jo, det skulle han, sa nu fungerar det inte igen. varfor gor jag sahar? far testa nar jag kommer hem igen :)

tack palle!

Medlem sedan dec. 20002 526 inlägg
#15

nu fick jag ca 90% ordning pa det... bara tva sma problem kvar (tror jag)
Nar den listar forum och om det ar nya inlagg eller sa inom sag ASP forumet sa visar den new.gif och uppdaterar det sedan nar man gar in pa sidan som listar tradarna = ratt eller fel?

Listningen av tradarna visar new.gif for nya tradar. Och nar man laser en trad sa uppdateras kakan till last, dvs Datum och tid nu.
Nar man sedan ska svara sa vill jag att den ska uppdatera kakan igen med nytt datum och da ska den visa new.gif for den traden, men det gor den inte. Koden for add_svar.asp med cookies:

tradID = request.form("svarID")
forumID = request.form("forum")
Response.Cookies("kaka")(""& tradID &"") = Datum
Response.Cookies("kaka2")(""& forumID &"") = Datum

sedan for nar man skapar en helt ny trad sa skrivs kakan sa har:

tradID = rs2("svarID")
Datum = Now()
response.cookies("kaka2")(""& forum &"") = Datum
response.cookies("kaka")(""& tradID &"") = Datum

borde val fungera tycker jag?!

default.asp listar tillgangliga forum med denna variant for att fa fram new.gif eller old.gif

'ligger i en loop
forumID = rs("forumID")
	strDate = rs("f_latest")

If cDate(strDate) > cDate(Request.Cookies("kaka2")(""& forumID &"")) Then
    bild = "<img src=""new.gif"">"

Else
	bild = "<img src=""old.gif"">"

End If

och thread.asp med tradarna som finns i valda forumet:

'inom en loop ocksa
tradID = rs("threadID")
strDate = rs("f_latest")
Datum = Now()
forumID = request.querystring("forumID")

If NOT session("usr") = "" then

Response.Cookies("kaka2")(""& forumID &"") = Datum

If cDate(strDate) > cDate(Request.Cookies("kaka")(""& tradID &"")) Then
    bild = "<img src=""new.gif"">"

Else
	bild = "<img src=""old.gif"">"

End If
End IF

Langt, men beskrivet! :)

Medlem sedan dec. 19998 577 inlägg
#16

Jag skulle lagt hela hanteringen i en databas istället för att lägga det på klienten, då kan klienten sitta vid vilken dator som helst och ändå se vilka inlägg som är nya.

Men detta fungerar ju bara om du ha inloggning, eller om användaren skulle ha fast ip.

Mvh, Vide

Medlem sedan dec. 20002 526 inlägg
#17

Japp, har inloggning.... Sa typ menar du, ha en tabell med san info? men hur ska den vara uppbygd och vad ska ske vid ny postning av svar eller ny tradskapning.??

276 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
144 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
144 ms — ändringar (db)