Avatar billede jwulff Nybegynder
16. august 2005 - 13:19 Der er 16 kommentarer og
1 løsning

Webshop i asp

Hej,

Jeg skal muligvis til selv at lave en webshop i asp, så jeg kan få opfyldt lige præcis de krav jeg har. Jeg kan dog ikke rigtig finde information om det på Internettet. Det jeg egentlig er i tvivl om, er hvordan den selve indkøbskurven skal foregå.

Er det nok simpelthen at bruge alm. sessions, eller er det for usikkert når det kommer til en webshop?

Samt er der andre ting jeg skal tage i overvejelse?

På forhånd tak!

Mvh.
Jacob
Avatar billede arne_v Ekspert
16. august 2005 - 13:47 #1
jeg tror ikke at det kan lade sig gøre at lave en web shop uden sessions
Avatar billede jwulff Nybegynder
16. august 2005 - 13:52 #2
Nej, den er jeg med på. Men fx har jeg en gang lavet en der kørte over en database, så når kunden loggede ind igen, havde han stadig samme varer i sin indkøbskurv, men det er ikke helt hvad jeg er ude efter.

Er det ikke også noget med global.asa man kan bruge?

Det jeg er ude efter er hvordan jeg skal "gemme" de varer som brugeren vælger. Hvis brugeren vælger fx 20 produkter, og det hele skal være i én session, bliver den for stor.
Avatar billede arne_v Ekspert
16. august 2005 - 13:55 #3
selvom du gemmer i database skal du stadigvæk bruge session

du har vel kun mulighederne:
  in memory
  on disk

hvis du ikke vil gemem on disk, så er der kun in memory tilbage

jeg er ikke specielt god til ASP så jeg skal ikke kunne sige om
der er restriktion på en sessions størrelse, men det er ihvertfald
andre sprog uden en sådan restriktion
Avatar billede keysersoze Ekspert
16. august 2005 - 14:26 #4
mulighederne til en opbygninger uendeligt - men som arne_v skriver undgår du ikke at bruge en eller anden form for konstant variabel som en session (evt en cookie (som dog er skod) eller querystring (som er for let at manipulere)).

Mulighederne til hvordan du gemmer varerne er næsten uendelige. De primære muligheder jeg plejer at benytte mig er af er at gemme dem i min session (fx vareid1, antal; vareid2, antal) eller i databasen på stort set samme måde bare i flere rækker). database-forslaget vil kunne køre uendeligt hvorimod session højst sandsynligt har nogle begrænsninger men jeg har aldrig støt på dem.
Avatar billede jwulff Nybegynder
16. august 2005 - 15:02 #5
Oki, hvordan deler man så sin session op igen, når det er man skal til indkøbskurven?
Avatar billede keysersoze Ekspert
16. august 2005 - 15:15 #6
hvis den bygges op som en string ligesom jeg skrev så kan du jo bare bruge split. første gang splitter du på ; for at separere de forskellige produkter fra hinanden og derefter separerer du på , for at få de forskellige oplysninger om det enkelte produkt ud.
Avatar billede jwulff Nybegynder
16. august 2005 - 16:18 #7
Har stirret mig blind i det eksempel, som jeg har forsøgt at lave. Hvordan kalder jeg de enkelte ting, fx varenavnet, og ikke antallet..

(min kode virker ikke helt optimalt)

Session("VarerInfo") = "bananer, 4"

Session("VarerInfo") = Session("VarerInfo") & ";" & Session("NyVare") & ", " & Session("NyAntal")

arrSplitVarer = Split(Session("VarerInfo"), ";")


    for i = 0 to Ubound(arrSplitVarer)

   
        for i = 0 to Ubound(arrSplitVare)

        Response.Write arrSplitVare(i)

        Next


    Next
Avatar billede jwulff Nybegynder
16. august 2005 - 16:20 #8
Har lavet dette der virker:

Session("Varer") = "æbler"
Session("Antal") = "6"

NyVare = "bananer"
Antal = "3"

Session("Varer") = Session("Varer") & "|" & NyVare
Session("Antal") = Session("Antal") & "|" & Antal

arrVarerIKurven = Split(Session("Varer"),"|")
arrAntalAfVaren = Split(Session("Antal"),"|")

    for i = 0 to Ubound(arrVarerIKurven)
        Response.Write "" & arrVarerIkurven(i) & "(" & arrAntalAfVaren(i) & ")<br>"
    next

Men er det ikke bedst og nemmest at beholde det i en variabel, eftersom man måske skal slette noget fra den?
Avatar billede keysersoze Ekspert
16. august 2005 - 19:09 #9
jeg vil mener det er lettest at bygge en array-lignende struktur op og gemme den i én session frem for at dele det over i to eller flere sessions da det nok er lettere at få roddet rundt i.
Avatar billede jwulff Nybegynder
16. august 2005 - 19:56 #10
Ja, men har lidt problemer med helt præcis hvordan den skal se ud nemlig, mit bud er nemlig dette, men det virker ik rigtig.

Session("VarerInfo") = "bananer, 4"

Session("VarerInfo") = Session("VarerInfo") & ";" & Session("NyVare") & ", " & Session("NyAntal")

arrSplitVarer = Split(Session("VarerInfo"), ";")


    for i = 0 to Ubound(arrSplitVarer)

   
        for i = 0 to Ubound(arrSplitVare)

        Response.Write arrSplitVare(i)

        Next


    Next
Avatar billede keysersoze Ekspert
16. august 2005 - 23:06 #11
umiddelbart kører du den samme for-løkke igennem to gange inde i hinanden og det er der vel ingen grund til?

Session("VarerInfo") = "bananer, 4"

Session("VarerInfo") = Session("VarerInfo") & ";" & Session("NyVare") & ", " & Session("NyAntal")

arrSplitVarer = Split(Session("VarerInfo"), ";")

for i = 0 to Ubound(arrSplitVare)

Response.Write arrSplitVare(i)

Next
Avatar billede jwulff Nybegynder
17. august 2005 - 11:06 #12
Skal jo have lavet en split mere, eftersom jeg skal adskille navnet og mængden fra hinanden.
Avatar billede keysersoze Ekspert
17. august 2005 - 12:14 #13
det kan så være rigtig nok - men det var så ikke lige det dit eksempel gav udtryk for. Skal det endelig bruges til udskrivning af varerne tror jeg heller ikke det er rigtigt at du skal loope igennem 2 gange alligevel - for eneste ubekendte i dit eksempel er antallet af varer og ikke vareoplysninger (som jo forhåbentligt altid er konstant)

Session("VarerInfo") = "bananer, 4"
Session("VarerInfo") = Session("VarerInfo") & ";" & Session("NyVare") & ", " & Session("NyAntal")
arrSplitVarer = Split(Session("VarerInfo"), ";")

for i = 0 to Ubound(arrSplitVare)
    arrSplitVare = Split(arrSplitVare(i), ",")
    Response.write "vare: " & arrSplitVare(0) & " antal: " & arrSplitVare(1)
Next
Avatar billede jwulff Nybegynder
17. august 2005 - 12:33 #14
Hey, præcis sådan der.. Mange tak, smid et svar...
Avatar billede keysersoze Ekspert
17. august 2005 - 13:31 #15
svar
Avatar billede keysersoze Ekspert
17. august 2005 - 13:32 #16
nu ved jeg ikke hvad mere du gør af arbejde med sessions etc - men der er trods alt andre ting der skal tages højde for. fx ændring af vareantal, tilføje den samme vare 2 gange etc
Avatar billede jwulff Nybegynder
17. august 2005 - 13:48 #17
Ja, det må jeg lige kigge nærmere på, hvordan man ændrer / sletter / 2x varer i samme session.
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