webForumDet fria alternativet

Flera cookies

ASP

2 svar · 275 visningar · startad av Salamana

Medlem sedan mars 2005158 inlägg
Frågan#1

Har lite problem med cookies..

Jag har ett system där det presenteras olika företag. På varje företag´s sida ska man kunna välja "lägg till i favoriter"...de favoriter man valt skall sedan visas i en meny på sidan..

I nuläget sparas en cookies...men väljer man flera favoriter så sparas den första över med den nya informationen...dvs att det visas endast en favorit länk i menyn..

Jag vill att man ska kunna ha flera favoriter.... Jag vet inte om man ska spara en ny kaka för varje favorit..vilket jag inte tro är det bästa utan man ska nog lägga in mer info i samma kaka...

Men hur gör man ??

Koden där jag skapar kakan ser ut enligt följande:

restNamn = Request.QueryString("restNamn")
restID = Request.QueryString("restID")
lank = "http://www.xxx.net/site/resturang.asp?restID=" + restID

Response.Cookies("favRest")("favRest") = lank
Response.Cookies("favRest")("namn") = restNamn

//

Och här hämtar jag ut kakan:

<a href="<%Response.Write Request.Cookies("favRest")("favRest")%>"><%Response.Write Request.Cookies("favRest")("namn")%></a>

//

MVH Salamana

Medlem sedan juli 20041 183 inlägg
#2

hmm, nu är jag inte så inne på cookies men en lösning kan vara att spara data med en sk. splitter mellan.

t.ex.

Response.Cookies("favLink") = "http://webforum.nu|[url]http://aftonbladet.se[/url]|[url]http://piratbyran.org[/url]"
Response.Cookies("favName") = "Webforum|Aftonbladet|Piratbyrån"

Sen när du hämtar data ifrån dessa cookies splittar du dem med

strLink = Split(Request.Cookies("favLink"),"|")
strName = Split(Request.Cookies("favName"),"|")

tror splitterns skrevs så, har dock inte testat men det borde vara så...

sen skriver du bara:

<a href="<%Response.Write strLink(0)%>"><%Response.Write strName(0)%></a>

För att skriva ut länk 0. För att skriva ut alla länkarna behöver du bara köra en While-loop som skriver ut länakr så länge de indexerade variablarna som vi skapade med våra splitters innehåller infromation...

________________________________________________

Du kan också använda enbart en cookie om du använder ett splitter-tecken för en länk och en annan för att avgränsa mellan länk och länknamn...

ex.

Response.Cookies("favorites") = "http://webforum.nu;Webforum|[url]http://aftonbladet.se;Aftonbladet[/url]|[url]http://piratbyran.org;Piratbyran[/url]"

Sen splittar du först för att få ut alla länkarna och sedan ytterligare en gång för att skilja på länk och länk-namn.

strRawLink = Split(Request.Cookies("favorites"),"|")

i = 0

While Len(strRawLink(i)) > 0
	strLink = Split(strRawLink(i),";")
%>
	<a href="<%Response.Write strLink(0)%>"><%Response.Write strLink(1)%></a>
<%
i = i + 1
Wend

Lite ful kod men men... Denna lösningen fungerar och man kan ju förfina koden lite här och där om man vill...

Medlem sedan mars 2005158 inlägg
#3

Nu är det löst..blev ett "," för att avgränsa dem.
TACKAR FÖR HJÄLPEN

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)