Jag vill kolla på en länksida som går till en detaljsida om användaren har klickat på länken eller ej.
På detaljsidan så sätter jag en cookie som är lika med länkens id.
Jag vill nu kolla om länkarna på länksidan har blivit klickad på eller ej, och om länken har blivit klickad på så ska länken ändra färg.
Om du lägger in id:na i cookien med mellanslag mellan varandra, och att systemet är databasdrivet (vilket jag antar) så kan du göra såhär:
arrKlickat = Split(Request.Cookies("klickat"))
Do Until objRS.EOF
blnKlickat = False
For i = 0 To UBound(arrKlickat)
If objRS("linkid") = arrKlickat(i) Then blnKlickat = True
Next
If blnKlickat Then
Response.Write("<a href=""" & objRS("adress") & """ target=""_blank"" style=""color: #0000BB"">" & objRS("link") & "</a><br>")
Else
Response.Write("<a href=""" & objRS("adress") & """ target=""_blank"" style=""color: #00BB00"">" & objRS("link") & "</a><br>")
End If
objRS.MoveNext
Loop
Får det inte att funka riktigt. Vad gör jag för fel?
På detaljsidan som sätter cookien ser det ut så här:
response.cookies("agreement")= rs("agreement_id")
och på sidan som listar alla länkarna ser det ut så här i bodyn:
<% arrKlickat = Split(Request.Cookies("agreement"))
Do Until rs.EOF
blnKlickat = False
For i = 0 To UBound(arrKlickat)
If rs("agreement_id") = arrKlickat(i) Then blnKlickat = True
Next
If blnKlickat Then %>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>" style="color: #0000BB"><%=rs("supplier")%></a><br>
<%Else%>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>" style="color: #00BB00"><%=rs("supplier")%></a><br>
<% End If
rs.MoveNext
Loop %>
response.cookies("agreement") = Request.Cookies("agreement") & " " & Request.QueryString("agreement")
<% arrKlickat = Split(Request.Cookies("agreement"))
Do Until rs.EOF
blnKlickat = False
For i = 0 To UBound(arrKlickat)
If rs("agreement_id") = arrKlickat(i) Then blnKlickat = True
Next
If blnKlickat Then %>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>&agreement=<%=rs("agreement_id")%>" style="color: #0000BB"><%=rs("supplier")%></a><br>
<%Else%>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>&agreement=<%=rs("agreement_id")%>" style="color: #00BB00"><%=rs("supplier")%></a><br>
<% End If
rs.MoveNext
Loop %>
Tänkte att iom att jag får agreement_idet på listsidan så kunde jag ju bara kolla det med rs("agreement_id"), men jag gör något fel?
response.write request.cookies("agreement")
if request.cookies("agreement") = rs("agreement_id") then
response.write "klickad på"
else
response.write "inte klickad på"
end if
sql = "SELECT * FROM supplier s,agree a, category c where s.session_id=a.session_id and a.category_id=c.category_id order by datumet,supplier DESC;"
set rs = conn.Execute (sql)
Kan det kanske möjligen hjälpa om du skriver såhär?
<% arrKlickat = Split(Request.Cookies("agreement"))
Do Until rs.EOF
blnKlickat = False
For i = 0 To UBound(arrKlickat)
If CInt(rs("agreement_id")) = CInt(arrKlickat(i)) Then blnKlickat = True
Next
If blnKlickat Then %>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>" style="color: #0000BB"><%=rs("supplier")%></a><br>
<%Else%>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>" style="color: #00BB00"><%=rs("supplier")%></a><br>
<% End If
rs.MoveNext
Loop %>
<% arrKlickat = Split(Request.Cookies("agreement"))
Do Until rs.EOF
blnKlickat = False
For i = 0 To UBound(arrKlickat) - 1
If CInt(rs("agreement_id")) = CInt(arrKlickat(i)) Then blnKlickat = True
Next
If blnKlickat Then %>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>" style="color: #0000BB"><%=rs("supplier")%></a><br>
<%Else%>
<a href="list_detail.asp?id=<%=rs("supplier_id")%>" style="color: #00BB00"><%=rs("supplier")%></a><br>
<% End If
rs.MoveNext
Loop %>
Som det var innan så fick jag ju ut cookien agreement att den hade flera idnummer, den la ju till ett nytt nr varje gång som man klickde på länken, och det var ju rätt ageement nummer.
Kan man inte då kolla att om cookien är lika med rs("agreement_id") då ska det hända något
annars
inget
slut