Avatar billede axkris Nybegynder
06. november 2004 - 14:45 Der er 6 kommentarer og
1 løsning

Cookie funger ikke korrekt - på egen server (IIS)

Hej alle

Prøv lige følgende side: http://www.selvet.dk/cookies.asp

Prøv at indtaste f.eks "test" i de to felter og trykke ok. Så siger den, at info. er gemt. Og reloader man siden kan man også at infoen er gemt.

Dog hvis man prøver igen uden www i urlen, altså: http://selvet.dk/cookies.asp så virker det ikke. Med andre ord, den kan ikke læse cookien, da der er "ingen kontakt" er mellem www.selvet.dk og selvet.dk

Og det skete efter jeg opgraderede til egen serveren (IIS).

Hvor ligger problemet?

Min kode er:

<%
Response.Buffer = True

If Request.Form("Action") = "Gem" Then
  ' Værdier fra form felterne skrives til en cookie som vi kalder ASPCookie
  Response.Cookies("ASPCookie")("Navn") = Request.Form("Navn")
  Response.Cookies("ASPCookie")("Email") = Request.Form("Email")
 
  ' Cookien skal udløbe om et år
  Response.Cookies("ASPCookie").Expires = DateAdd("y", 1, Now)
 
  ' Cookien skal kun kunne læses af det domæne som den er skrevet på
  Response.Cookies("ASPCookie").Domain = "."& Request.ServerVariables("SERVER_NAME")
 
  ' Cookien skal kun kunne læses af sider som ligger i denne mappe
  Response.Cookies("ASPCookie").Path = "/aspdigital/kapitel1/eksempler"
 
  strInfo = "Information er nu gemt i en cookie"
End If

' Her hentes værdierne fra ASPCookien ind i to variabler
strNavn = Request.Cookies("ASPCookie")("Navn")
strEmail = Request.Cookies("ASPCookie")("Email")
%>
<html><head>
<title>Mere om cookies</title><body>

<%=strInfo%>
<form method="POST" action="cookies.asp">
<table>
<tr><td>Navn</td><td><input type="test" name="Navn" size="30" value="<%=strNavn%>"></tr>
<tr><td>E-mail</td><td><input type="test" name="Email" size="30" value="<%=strEmail%>"></tr>
</table>
<input type="Submit" name="Action" value="Gem">
</form>

</body></html>

Til sammenligning kan man foretage forsøget på:
http://activedeveloper.dk/artikler/default.asp?articleid=68

Her kan axtivedeveloper.dk godt læse, hvad der er skrevet ned fra http://activedeveloper.dk

Til orientering så ligger problemet kun i brugen af cookies, der er nemlig ingen problemer med sessions.

Hvad går der galt?
Avatar billede axkris Nybegynder
06. november 2004 - 14:46 #1
Her kan axtivedeveloper.dk godt læse, hvad der er skrevet ned fra http://activedeveloper.dk

=

Her kan www.activedeveloper.dk godt læse, hvad der er skrevet ned fra http://activedeveloper.dk og omvendt
Avatar billede a1a1 Novice
06. november 2004 - 14:56 #2
hvis du vil have at x.dk og www.x.dk kan du bare udelade domain..
Avatar billede a1a1 Novice
06. november 2004 - 14:57 #3
hvis du vil have at x.dk og www.x.dk kan du bare udelade domain..

hvis du vil have at x.dk og www.x.dk "skal kunne læse hinanden" kan du bare udelade domain..

;o)
Avatar billede axkris Nybegynder
07. november 2004 - 00:06 #4
Men hvis det er tilfældet, så bliver du nødt til at forklare mig, hvorfor præcis den samme kode virker på activedeveloper.dk ?? (dvs. www.activedeveloper.dk samt activedeveloper.dk)
Avatar billede axkris Nybegynder
07. november 2004 - 00:27 #5
Nu har jeg koblet domain fra, men der er ingen forskel. Der er stadig ingen forbindelse mellem:

http://selvet.dk/cookies.asp
og
http://www.selvet.dk/cookies.asp
Avatar billede axkris Nybegynder
07. november 2004 - 11:12 #6
Jeg har også prøvet følgende og det virker heller ikke:

Response.Cookies("ASPCookie").Domain = "selvet.dk"
Response.Cookies("ASPCookie").Domain = "www.selvet.dk"
Avatar billede axkris Nybegynder
07. november 2004 - 12:00 #7
Så nu er fejlen fundet.

Jeg skal KUN skrive:
Response.Cookies("ASPCookie").Domain = "selvet.dk"

Ikke noget med at undlade domain eller skrive endnu en domain-sætning, hvor www også er med.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester