vi håller på med ett projekt, vi ska göra en webshop dels i php/mysql och dels i asp/access. i php-versionen använder jag en sessionvektor som kundvagn ($_SESSION['prod_vagn'] där indexet är artikelnumret (prod_id) och värdet på vektorn är antalet produkter av den typen som ligger i kundvagnen. detta funkar fint och det går att lägga till, ta bort, ändra antal och tömma kundvagnen och allt sånt. Hej! Men om jag har en sida som heter prod.asp och har med titel och antal till t.ex. prod_vagn.asp där det ska registreras en sessionsvektor med titel och antal ifrån min databas? Hur skriver jag då i prod_vagn.asp? Hittar inte hur man "bakar in" sessionen i vektorn och har med ifrån ifrån förra sidan. jag har nått liknande på min sida om jag förstått dej rätt. Hej! Okej tack tom! Men jag har en sida som heter prod_show.asp där är action="kundvagn.asp", och kundvagn.asp visas alltid i en frame, när man klickar på en produkt ska man komma till kundvagn.asp men om kundvagnen är tom ska den bara visa "Kundvagnen är tom" och om det finns något ska den visa vad som finn i den. Ska all kod du skickade då vara med på kundvagn.asp? det står: Felaktigt matrisindex: 'lngNyttIndex'sessionsvektorer i asp
vi läste "så gör du en webshop i asp"-guiden på aspwebb, och där löste de kundvagnen i asp genom att använda en temporär tabell i databasen som lagrade vilka produkter som låg i vagnen och så, men det måste väl gå att lösa på det sättet jag gjort i php också? hur isf? hur registrerar man sessionsvektorer, och hur ändrar man värden på dem och allt sånt?Sv: sessionsvektorer i asp
För att lagra en vektor i en sessionsvariabel kan man göra så här:
<code>
Dim arrDinVektor(1, 1)
'...
' lägg in vektorn i en sessionsvariabel
Session("DinVektor") = arrDinVektor
</code>
För att hämta det sparade vektordatat som ligger i en sessionsvariabel kan du göra så här:
<code>
arrDinVektor = Session("DinVektor")
</code>
Sen använder du den på vanligt sätt.
Hoppas det klarnade.
Ta väl hand om dig och lycka till!
Tom S.Sv: sessionsvektorer i asp
Sv: sessionsvektorer i asp
Då sparar jag allt i en session och med ";" mellan varje ord som ska vara var för sej.. sen använder jag baar split för att få det till en vektor (finns säkert enklare sätt)Sv: sessionsvektorer i asp
> Hittar inte hur man "bakar in" sessionen i vektorn och har med ifrån ifrån förra sidan.
Det är nog snarare tvärtom man gör; man bakar in en lokal vektor i ett sessionsobjekt.
Exempel prod.asp:
<code>
<form action="prod_vagn.asp" method="post">
Titel: <input type="text" name="titel" value="Musmatta">
Antal: <input type="text" name="antal" value="1"><br>
<input type="submit" value="Lägg ner i varukorg">
</form>
</code>
prod_vagn.asp kan ungefär se ut så här:
<code>
<%
' hämta varukorgsvektorn
arrVarukorg = Session("varukorg")
' om ingen produkt ligger i varukorgen, har inte heller varukorgsvektorn
' initierats med några dimensioner
If IsArray(arrVarukorg) = False Then
' dimensionera upp arrVarukorg
ReDim arrVarukorg(1, 0)
' ... och så lägger vi ner produkten från prod.asp
arrVarukorg(0, 0) = Request.Form("titel")
arrVarukorg(1, 0) = Request.Form("antal")
Else
' arrVarukorg har redan initierats som en vektor, så vi utökar den lite
' så den rymmer den nya produkten som lagts till i varukorgen
lngNyttIndex = UBound(arrVarukorg, 2)+1
arrVarukorg(0, lngNyttIndex) = Request.Form("titel")
arrVarukorg(1, lngNyttIndex) = Request.Form("antal")
End If
' spara ner den lokala vektorn till sessionsobjektet, så vi senare
' kan lägga till fler grejer i varukorgen
Session("varukorg") = arrVarukorg
%>
</code>
Sen, som en liten extra feature, kan du ha en sida som heter t ex visa_varukorg.asp där du har följande kod:
<code>
<%
' hämta ner varukorgen från sessionsobjektet
arrVarukorg = Session("varukorg")
For i = 0 To UBound(arrVarukorg, 2)
Response.Write arrVarukorg(0, i) & " " & arrVarukorg(1, i) & " st<br>"
Next
%>
</code>
Du kan alltså inte ha en sessionsvektor á la Session("varukorg")(1, 1) ... utan du får använda en lokal vektor, som du sedan sparar ner i sessionobjektet.
Hoppas det klarnade lite.
Lycka till och lev väl,
Tom S.Sv: sessionsvektorer i asp
Sv: sessionsvektorer i asp
<%
' hämta varukorgsvektorn
arrVarukorg = Session("varukorg")
' om ingen produkt ligger i varukorgen, har inte heller varukorgsvektorn
' initierats med några dimensioner
If IsArray(arrVarukorg) = False Then
' dimensionera upp arrVarukorg
ReDim arrVarukorg(1, 0)
' ... och så lägger vi ner produkten från prod.asp
arrVarukorg(0, 0) = Request.Form("produktID")
arrVarukorg(1, 0) = Request.Form("antal")
Else
' arrVarukorg har redan initierats som en vektor, så vi utökar den lite
' så den rymmer den nya produkten som lagts till i varukorgen
lngNyttIndex = UBound(arrVarukorg, 2)+1
arrVarukorg(0, lngNyttIndex) = Request.Form("produktID")
arrVarukorg(1, lngNyttIndex) = Request.Form("antal")
End If
' spara ner den lokala vektorn till sessionsobjektet, så vi senare
' kan lägga till fler grejer i varukorgen
Session("varukorg") = arrVarukorg
%>