webForumDet fria alternativet

cookies

22 svar · 1 418 visningar · startad av J0han

J0han
#1

Hm, varför funkar inte detta script?

<% 
dim antal, totalt
antal = request.cookies("besok")
totalt = antal + 1
response.cookies("besok") = totalt
%>
<html> 
<font face="verdana" size="2">
Du har varit här <b><%=request.cookies("besok")%></b> gånger!
</html>

?

Får felmeddelandet

Körningsfel i Microsoft VBScript fel '800a000d' 

Inkompatibla typer: '[string: ""]' 

/default.asp, rad 4

Det funkade typ först men sen så funkade det inte helt plötsligt... :(
Tacksam för svar! :)

------------------
portrait of authOrity

@ndersMedlem sedan juni 200032 969 inlägg
#2

har du provat att konvertera antal till ett heltal först?

------------------
<A HREF="http://www.cartman.nu" TARGET=_blank>
mannen, myten, mutanten.</A>

J0han
#3

eh, nä, hur gör man det?

------------------
portrait of authOrity

bohlinMedlem sedan mars 2000263 inlägg
#4

talet = cInt(strängmedtal)
asså:

Dim tal, strang
strang = "1"
tal = cInt(strang)

I ditt fall blir det:

antal = cInt(request.cookies("besok"))

------------------
/bohlin
kaffe är djävulens dryck
glögg är guds dryck

JöbenMedlem sedan jan. 200078 inlägg
#5

Är det inte så att man måste ha
response.cookies("kaknamn")("besok")

kanske?

------------------
//Jöben

J0han
#6

nä, det behöver man inte.. :)

------------------
portrait of authOrity

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#7

Får detta meddelandet:

Microsoft VBScript runtime error '800a000d' 

Type mismatch: 'cInt' 

/test.asp, line 3

------------------

Vad gör Göran då, vad gör Göran då?

E-post

VideMedlem sedan dec. 19998 577 inlägg
#8

Då kan inte din cookie innehålla ett tal... skriv ut din cookie och kolla... och testa med IsNumeric också för att se om det är ett nummer...

Mvh, Vide

------------------
Kom hem till mig...

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#9

Hej!

Hur exakt skulle det se ut då?

Såhär ser det juh ut nu....

<% 
dim antal, totalt
antal = request.cookies("besok")
totalt = antal + 1
response.cookies("besok") = totalt
%>
<html> 
<font face="verdana" size="2">
Du har varit här <b><%=request.cookies("besok")%></b> gånger!
</html>

------------------

Vad gör Göran då, vad gör Göran då?

E-post

VideMedlem sedan dec. 19998 577 inlägg
#10

Det där kan inte vara all kod, eftersom du får typ missmatch på funktionen Cint...

Mvh, Vide

------------------
Kom hem till mig...

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#11

Hallo!

Tyvärr så är det all kod...
Jag fick den från wF Script......

------------------

Vad gör Göran då, vad gör Göran då?

E-post

PatrikBMedlem sedan mars 20002 836 inlägg
#12

Hello,

Response funkar ej ihop med Request ....

Testa denna kod:

<% 
dim antal, totalt
antal = request.cookies("besok")
totalt = antal + 1
response.cookies("besok") = totalt
%>
<html> 
<font face="verdana" size="2">
Du har varit här <b><%=total></b> gånger!
</html>

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

BenganMedlem sedan juni 2000690 inlägg
#13

Om det där är all kod så saknas väl datumet som cookien skall gälla till?
Annars raderas den väl när man stänger läsaren...

Lägg till:

Response.Cookies("besok").Expires = Date + 365

Eller nåt sånt.

------------------
MvH
/Bengan
www.bengan.com
"Your mouse has moved. Windows will now restart to accept the changes."

PatrikBMedlem sedan mars 20002 836 inlägg
#14

Hello igen,

helt riktigt.

Response.Cookies("besok").Expires = DateAdd("d",365,Now)

gör så att "kakan" ligger kvar i datorn i 365 dagar.

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

BenganMedlem sedan juni 2000690 inlägg
#15

Är det någon nackdel med att endast använda Date + 365?

Blev lite osäker nu ;)

------------------
MvH
/Bengan
www.bengan.com
"Your mouse has moved. Windows will now restart to accept the changes."

PatrikBMedlem sedan mars 20002 836 inlägg
#16

Hello,

Bengan:
Det är nog som man lärt sig.
Själv använder jag mig av datum funktionerna när jag håller på och räknar med datum.
Man kan oxå skriva:

dteFutureDate = DateAdd("y",1,Now)

Vilket är detsamma som att plusa på med 365 dagar .... ett år framåt alltså
Eller om man bara vill att den ska tex gälla i en timme:

dteFutureDate = DateAdd("h",1,Now)

Vilket är om en timme....

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 29 sep 2000]

erkaMedlem sedan dec. 19996 522 inlägg
#17

Jag har ett problem som oxå hör till detta tror jag..

nu har jag ju dubbelpostat det men det borde kanske tas upp här för framtida behov.

<%
Response.Buffer = True
Response.Cookies("rosta").Expires = Date() + 2
If Request.cookies("rosta")("id") > 2 Then
Response.redirect "redanrostat.asp"
Else 
Response.cookies("rosta")("id") = Request.cookies("rosta")("id") +1
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("db/listan.mdb")
Connect.Open DSNtemp
SQLstmt = "SELECT * FROM lista"
SQLstmt = "UPDATE lista SET poang = poang +1 WHERE AID = " & Request.Querystring("id") & ""
Connect.Execute(SQLstmt)
Response.Redirect("topplistan.asp")

End If
%>

Om man flyttar fram datumet ett par dagar (2 somjag agett) så kan man rösta hur många ggr som helst.

Tar den då serverns datum och sätter i cookien istället för han som tittar på sidas datum..

Hur kommer man förbi det ?

BenganMedlem sedan juni 2000690 inlägg
#18

PatrikB:

Jo, jag vet hur DateAdd funkar det satte bara lite myror i huvudet på mig :)

Funderade tidigare på om det har någon betydelse vilken tidszon servern kör i och om cookiens datum måste vara satt med ett visst format.

Nåväl, bara det funkar så.
Snyggt användarnamn du har förresten :)

Erka:

Istället för att sätta Expire till 2 dagar så kan du ju även prova med att lägga in Now som ett till värde i cookien och sätta expires till ett år eller nåt.
Sen kollar du om det cookie värdet är under 2 dar gammalt med DateAdd( "d", -2, Now())

------------------
MvH
/Bengan
www.bengan.com
"Your mouse has moved. Windows will now restart to accept the changes."

[Redigerat av Bengan den 29 sep 2000]

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#19

Hej!

Jag fattar inte....Får ni scriptet att funka?

Har fortfarande samma meddelande:

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: ""]'

/test.asp, line 4

<% 
dim antal, totalt
antal = request.cookies("besok")
totalt = antal + 1
response.cookies("besok").Expires = DateAdd("d",365,Now)
%>
<html> 
<font face="verdana" size="2">
Du har varit här <b><%=total%></b> gånger!
</html>

Spelar juh f**n ingen roll hur man än gör... x(

Funkar juh inte...

------------------

Vad gör Göran då, vad gör Göran då?

E-post

PatrikBMedlem sedan mars 20002 836 inlägg
#20

bort bort .... fel ställe ....

men här kommer en lösning:

PatrikB

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 29 sep 2000]

129 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)