Det är inte bra att ha cookies med tal som namn, men prova detta:
If CStr(Request.Cookies("sql3")(RecSet("ID"))) = "" Then
Mvh,
13 svar · 283 visningar · startad av KlasO
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
Det är inte bra att ha cookies med tal som namn, men prova detta:
If CStr(Request.Cookies("sql3")(RecSet("ID"))) = "" Then
Mvh,
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
Jo, det är mycket bättre.
Anledningen är att Request.Cookies("blaha")(239) tolkas som en plats 239 i arrayen Request.Cookies("blaha").
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
Response.Cookies("sql3")("nummer" & Request.QueryString("idnummer")) = RecSet2("antalsvar")
resp.
Request.Cookies("sql3")("nummer" & RecSet("ID"))
Strängkonkatenering sköter du med &.
Mvh,
*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")
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,
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.
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.
*Glad* har hållit på till o från i 2-3 dagar med detta. (att visa läst, oläst) i forumet.