Avatar billede mkjeldsen Nybegynder
26. marts 2001 - 15:26 Der er 6 kommentarer og
1 løsning

SessionID & Cookies

Jeg sidder og nørkler med en web-shop, og er kommet til indkøbskurven, hvor jeg kan forstå at der skal bruges SessionID og Cookeis. Er der ikke et klogt hoved derude i samfundet der kan forklarre mig på DANSK, hvordan sådan noget fungerer.
Mogens
Avatar billede tpiil Nybegynder
26. marts 2001 - 15:33 #1
du skal vælge imellem Sessions og cookies :)
jeg ville nok vælge sessions til en indkøbskurv hvis jeg var dig.
Avatar billede mkjeldsen Nybegynder
26. marts 2001 - 15:37 #2
Det er også nok det jeg mener, men jeg kan ikke få det ind i mit lille hoved, hvordan en session virker og hvordan man opretter dem.

Avatar billede mkjeldsen Nybegynder
26. marts 2001 - 15:39 #3
Min kode indtil nu ser således ud....
---
<% Response.Buffer = TRUE %>

<%
ProduktID = Request.Form (\"ProduktID\")
Antal = Request.Form (\"Antal\")
Varenavn = Request.Form (\"Varenavn\")
Pris = Request.Form (\"Pris\")
Software = Request.Form (\"software\")

Set Connect = Server.CreateObject(\"ADODB.Connection\")

Connect.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../database/item_ordre.mdb\")

   
\'her skrives til cookies (måske)
Response.cookies (\"ItemShop\")(\"SessionID\")=SessionID
Response.cookies (\"ItemShop\")(\"ProduktID\")=ProduktID
Response.cookies (\"ItemShop\")(\"Antal\")=Antal
Response.cookies (\"ItemShop\")(\"Varenavn\")=Varenavn
Response.cookies (\"ItemShop\")(\"Software\")=Software
Response.cookies (\"ItemShop\")(\"Pris\")=Pris

%>


<% VarePrisTotal = Pris * Antal %>

<%= Request.Cookies(\"ItemShop\")(\"SessionID\") %>

<%
\'    For Each strKey In Request.Cookies
\'      Response.Write strKey & \" = \" & Request.Cookies(strKey) & \"<BR>\"
\'    If Request.Cookies(strKey).HasKeys Then
\'        For Each strSubKey In Request.Cookies(strKey)
\'          Response.Write \"->\" & strKey & \"(\" & strSubKey & \") = \" & _
\'            Request.Cookies(strKey)(strSubKey) & \"<BR>\"
\'        Next
\'      End If
\'    Next
\'%>



<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"5\">
            <tr>
            <td bgcolor=\"#005D99\" width=\"1%\"><center><b><font face=\"verdana\" size=\"2\" color=\"white\">Varenr.</b></font></td>
            <td bgcolor=\"#005D99\" width=\"40%\"><b><font size=\"2\" face=\"verdana\" color=\"white\">Tekst</font></b></td>
            <td bgcolor=\"#005D99\" width=\"1%\"><center><b><font face=\"verdana\" size=\"2\" color=\"white\">Antal</b></font></td>
            <td bgcolor=\"#005D99\" width=\"1%\"><center><b><font face=\"verdana\" size=\"2\" color=\"white\">&aacute;</b></font></td>
            <td bgcolor=\"#005D99\" width=\"10%\"><center><b><font face=\"verdana\" size=\"2\" color=\"white\">Total</b></font></td>
            <td bgcolor=\"#005D99\" width=\"10%\"></td>
            </tr>



    <tr>
            <td bgcolor=\"White\" width=\"1%\"><center><font face=\"verdana\" size=\"1\" color=\"black\"><%=ProduktID%></font></td>
            <td bgcolor=\"White\" width=\"40%\"><font size=\"1\" face=\"verdana\" color=\"black\"><%=Varenavn%><br><%=Software%></font></td>
            <td bgcolor=\"White\" width=\"1%\"><center><font face=\"verdana\" size=\"1\" color=\"black\"><%=Antal%></font></td>
            <td bgcolor=\"White\" width=\"10%\"><center><font face=\"verdana\" size=\"1\" color=\"black\"><%=formatnumber(Pris)%></font></td>
            <td bgcolor=\"White\" width=\"1%\"><center><font face=\"verdana\" size=\"1\" color=\"black\"><%=formatnumber(VarePrisTotal)%></font></td>
            <td bgcolor=\"White\" width=\"10%\"></td>
            </tr>
---

Skal den laves helt om, eller kan man tilføje noget hertil således man kan bruge session??????

Mogens
Avatar billede tpiil Nybegynder
26. marts 2001 - 15:49 #4
lav en session sådan her:
Session(\"navn\") = \"sessionen tekst :)\"
også trækker du det ellers bare ud sådan her:
<%=Session(\"navn\")%>
Avatar billede soerens Nybegynder
26. marts 2001 - 16:28 #5
En Session bliver oprettet helt automatisk på en IIS.

Så snart en bruger requester en side for første gang på en IIS vil vedkommende blive tildelt et \"Session ID\".

I denne \"Session\" kan du så gemme variabler/værdier, som du kan hente ind fra side til side.

En session bliver automatisk afsluttet når der ikke har været \"aktivitet\" fra brugeren i 20 munitter.

Modsat det tpiil har postet, så kan du ikke vælge imellem Session variabler eller Cookies.

En ting mange glemmer, når de udvikler ASP sider er, at du IKKE kan benytte de såkaldte session variabler, hvis brugerens browser ikke understøtter eller har disabled cookies!

Alle sessioner, og deres variabler, bliver gemt i en cookie på brugerens maskine, som er sat til at expire efter 20 minutter (standard tid for en session timeout).

Det var bare lige lidt løst & fast omkring sessions/cookies, sig til hvis noget af det skal uddybes.

/SørenS
Avatar billede mkjeldsen Nybegynder
27. marts 2001 - 12:57 #6
Hej SørenS

Som du kan se af min kode, er det til en indkøbskurv. Jeg har fundet ud af, at skrive til en Cookies. Men hvordan kan man skrive flere varelinier ind i en session (eller cookies).
Mogens
Avatar billede soerens Nybegynder
27. marts 2001 - 13:25 #7
Ok, lad os gå ud fra Session variabler (...som i bund og grund ER cookies jævnfør ovenstående):

Du kan så evt. lave flere varelinier sådan her:
Session(\"Item01_ProduktID\") = bla bla bla
Session(\"Item01_Antal\") = bla bla bla

Session(\"Item02_ProduktID\") = bla bla bla
Session(\"Item02_Antal\") = bla bla bla

Du kan så loope igennem alle dine Session vars vha. følgende kode:

For Each Item in Session.Contents
  Response.Write Item & \":\" & Session.Contents(Item) & \"<br>\"
Next

Og på den måde hive de ting ud som er gemt.

Håber det er til at forstå ;-)

/SørenS.
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