webForumDet fria alternativet

Skapa cooooooookie...

ASP

5 svar · 196 visningar · startad av ReloadMaster

Medlem sedan aug. 2001239 inlägg
Frågan#1

Tjena,
Någon som vet vad problemet är
verkar vara att den inte vill skapa cookien...

<%
If Request.Querystring("rosta") = "ja" Then

Dim Conn, SQL1

db = Server.MapPath("omrostning.mdb") 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& db
	
Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL1 = "SELECT * FROM omrostning WHERE ID= " & Request.Querystring("id") & " "
RecSet.Open SQL1, Conn

contr = Request.Cookies("voted")("check")
If contr = RecSet("ID") Then

Response.Redirect("omrostning2.asp?rostat=ja")

Else

Dim SQL2, Siffra
nummer = Request.Querystring("alternativ")

SQL2="UPDATE omrostning SET roster"&nummer&"=roster"&nummer&"+ 1 WHERE ID = " & Request.Querystring("ID")
Conn.Execute SQL2

Response.Cookies("voted")("check") 	= RecSet("ID")
Response.Cookies("voted").Expires 	= Date + 31

Response.Redirect("omrostning2.asp?rostat=ja")

RecSet.Close 
Set RecSet = Nothing 
Conn.close 
Set Conn = Nothing 

End If
End If
%>
Medlem sedan dec. 200012 464 inlägg
#2

Problem med typer?

If cdbl(contr) = cdbl(RecSet("ID")) Then

En annan sak. Om det ligger kod efter response.redirect så körs den inte. Dvs, RECSET.CLOSE anropas inte i din kod. Nu har det ingen praktisk betydelse eftersom ADO kommer att stänga objektet i alla fall.

Medlem sedan aug. 2001239 inlägg
#3

En fråga till då:

Om jag vill kolla hur många utav mina Form som heter
Svar1
svar2
svar3
o.s.v.

Är ifyllda och sedan Lägg in antalet i Kolumnen antal i databasen hur kan jag göra det?

Medlem sedan dec. 200012 464 inlägg
#4

Om du har 20 fält text


antal=0
for i = 1 to 20
antal = antal + len(left(request.form("svar" & i),1))
next
Medlem sedan aug. 2001239 inlägg
#5

LarsG skrev:

Om du har 20 fält text


antal=0
for i = 1 to 20
antal = antal + len(left(request.form("svar" & i),1))
next

Då tar jag fram frågan jag e känd för(+ min newbie stil):

fraga = Session("fraga")
svar1 = Session("svar1") 
svar2 = Session("svar2")
svar3 = Session("svar3")
svar4 = Session("svar4")
svar5 = Session("svar5")
svar6 = Session("svar6")
svar7 = Session("svar7")
svar8 = Session("svar8")
svar9 = Session("svar9")
svar10 = Session("svar10")

antal=0
For i = 1 to 10
antal = antal + Len(Left(Session("svar" & i),1))

NEXT

SQL2 = "INSERT INTO omrostning (fraga, svar1, svar2, svar3, svar4, svar5, svar6, svar7, svar8, svar9, svar10, antal)"
SQL2 = SQL2 & " VALUES ('" & fraga & "', '" & svar1 & "', '" & svar2 & "', '" & svar3 & "', '" & svar4 & "', '" & svar5 & "', '" & svar6 & "', '" & svar7 & "', '" & svar8 & "', '" & svar9 & "', '" & svar10 & "', '" & antal & "')"
Conn.execute(SQL2)

Funkar detta?

Medlem sedan dec. 200012 464 inlägg
#6

Kanske. Om antal är en numerisk kolumn så skall det inte vara några apostrofer kribg värdet.

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)