webForumDet fria alternativet

Cookiefråga ?

ASP

13 svar · 283 visningar · startad av KlasO

Medlem sedan apr. 200257 inlägg
Frågan#1

Hej!

Vad är det för fel på denna rad?

If Request.Cookies("sql3")(RecSet("ID")) = "" Then
' ### Finns ingen cookie.
Else
etcetera.....

Felmed:

Cookies object error 'ASP 0105 : 80004005'

Index out of range

/klas/sql/prat2.asp, line 162

An array index is out of range.

---

Med **RecSet("ID") har värdet: <%=RecSet("ID")%> ** får jag fram värdet 145, så jag vet att det finns ett värde. Så sen när jag skriver

If Request.Cookies("sql3")("145") = "" Then
' ### Finns ingen cookie.

Så fungerar det och den hoppar vidare till innehållet i "Else"

Klas

Medlem sedan juni 200032 967 inlägg
#2

Det är inte bra att ha cookies med tal som namn, men prova detta:

If CStr(Request.Cookies("sql3")(RecSet("ID"))) = "" Then

Mvh,

Medlem sedan apr. 200257 inlägg
#3

Hej!

Nepp, det ger samma error ;-(

Tack ändå.

Klas

Medlem sedan apr. 200257 inlägg
#4

Hur kommer det sig att det inte är bra att använda tal?
Finns det något smart sätt att komma runt det? tex att ha "nummer1" , "nummer145", etc istället?

Klas

Medlem sedan juni 200032 967 inlägg
#5

Jo, det är mycket bättre.

Anledningen är att Request.Cookies("blaha")(239) tolkas som en plats 239 i arrayen Request.Cookies("blaha").

Medlem sedan apr. 200257 inlägg
#6

Hehe, jag körde fast direkt, jag ska skriva om min kod...

<% Response.Cookies("sql3")(Request.QueryString("idnummer")) = RecSet2("antalsvar")
Response.Cookies("sql3").Expires = "December 10, 2009" %>

i denna
<% Response.Cookies("sql3")(Request.QueryString("idnummer")) = RecSet2("antalsvar")

Hur ska jag få in "nummer" ?

<% Response.Cookies("sql3")(nummerRequest.QueryString("idnummer")) = RecSet2("antalsvar")

Ska jag aggregera med "+" eller "&" på något sätt liknande då man skriver SQL satser?

Samma frågeställning kommer sedan när man ska läsa innehållet

Request.Cookies("sql3")(RecSet("ID"))
ska bli :
Request.Cookies("sql3")(nummerRecSet("ID"))

Tack på förhand igen. :-)

Klas

Medlem sedan juni 200032 967 inlägg
#7
Response.Cookies("sql3")("nummer" & Request.QueryString("idnummer")) = RecSet2("antalsvar")

resp.

Request.Cookies("sql3")("nummer" & RecSet("ID"))

Strängkonkatenering sköter du med &.

Mvh,

Medlem sedan apr. 200257 inlägg
#8

Nu fungerar det nästan, återkommer.

;-)

Klas

Medlem sedan apr. 200257 inlägg
#9

*grrrr* ..det vill sig inte ändå, min gissning är att det beror på att jag försöker jämföra en sträng(cookien) med ett tal(från databasen.

Denna ger aldrig "True":
If CStr(Request.Cookies("sql3")("nummer" & RecSet("ID"))) = RecSet2("antalsvar") Then

Jag vet att det verkligen är samma värde i båda, tex "5", då jag skriver ut dem i klartext på samma sida som jag kör koden. (cookiesen skapas och körs dock naturligtvis på olika sidor, det lärde ni mig igår ;-))

Har provat med denna också:

If (Request.Cookies("sql3")("nummer" & RecSet("ID")) = RecSet2("antalsvar")

Medlem sedan juni 200032 967 inlägg
#10

Om du lägger Cstr() runt värdet från databasen också då?

If CStr(Request.Cookies("sql3")("nummer" & RecSet("ID"))) = Cstr(RecSet2("antalsvar")) Then

Mvh,

Medlem sedan apr. 200257 inlägg
#11

Denna som är innan funkar ju nu dock, så jag har ju kommit längre än när jag började tråden. (dvs villkoret stämmer inte och datorn går vidare till Else satsen, precis som det ska vara) ;-)

If CStr(Request.Cookies("sql3")("nummer" & RecSet("ID"))) = "" Then
' ### Finns ingen cookie.
Else
Response.Write "Oläst" ' Visar inlägget som oläst.

Medlem sedan apr. 200257 inlägg
#12

Japp!!!! Då funkar det, tack för hjälpen verkligen!!!

Här kan du se att det fungerar om du vill:
http://www.hemsida.net/klas/sql/prat2.asp
Ska sedan snygga till, så att läst,oläst hamnar på:
http://www.hemsida.net/klas/sql/prat.asp

Som sagt, Tack!!! Nu lärde jag mig dels det jag frågade, samt hur man lägger ihop strängar, samt gör om från taltyp till strängtyp.

Medlem sedan apr. 200257 inlägg
#13

*Glad* har hållit på till o från i 2-3 dagar med detta. (att visa läst, oläst) i forumet.

Medlem sedan juni 200032 967 inlägg
#14

Kul att du fick till det!

Mvh,

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