/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Bevarelse af data i Session-variabel
Fra : john wengel


Dato : 24-05-06 21:27

Hej til alle.

Jeg er ved at lave et script som bevarer brugerens indtastninger
under besøget på webstedet.
Jeg har valgt at bruge session-opjektet og bruger koden nedenfor.
- men dataene bevares ikke. Startes der en ny session eller hvad
går der galt?- på forhånd tak

<%


' SCRIPTET SKAL HUSKE HVAD BRUGEREN HAR VALG VIA INPUT-'FELTER
(LIDT LIGESOM EN INDKØBSKURV)

const cart_columns = 4' ERKLÆRING AF KONSTANT SOM
' ER ANTALLET AF KOLONNER I ARRAY

DIM cartarray()' DYNAMISK ARRAY DEFINERES
redim cartarray (cart_columns,10)' array REDEFINERES HER

cartmaxused = -1' INGEN TING I ARRAY ENDNU
session ("cartarray")=cartarray ' array til sessionvariabel
session ("cartmaxused")=cartmaxused ' se ovenfor



' INDTASTNINGSFELTER I HTML:

%>
' scriptet peger på sig selv via action= "blablabla"
' resultatet af indtastningen vises på same side som
indtastningen
'foregår-virker fint men muligvis findes problemet med bevarelse
af
' data i array her

<form method="POST"
action="<%REQUEST.SERVERVARIABLES("SCRIPT_NAME")%>">


<input type="Text" value="" name="varenavn" >
<input type="Text" value="" name="varepris" >
<input type="Text" value="" name="omregntal" >
<input type="Text" value="" name="stk" >
<input type="Text" value="" name="farve" >
<input type="submit" value="send">
<%





' INDSÆTTELSE AF DATA I ARRAY FRA FORMFELTER

' CARTITEM GIVER RÆKKEN (ROW) I ARRAY

cartitem = addcartelement()' FUNKTIONEN SOM FINDER
'NÆSTE LEDIGE PLADS (RÆKKE) KALDES

cartarray(0,cartitem)= request.form("varenavn")
cartarray(1,cartitem)=request.form("varepris")
cartarray(2,cartitem)=request.form("omregntal")
cartarray(3,cartitem)=request.form("stk")
cartarray(4,cartitem)=request.form("farve")



Function addcartelement() ' FINDER NÆSTE LEDIGE PLADS I ARRAY
' og bevarer gamle data
if cartmaxused >= ubound(cartarray,2) then

redim preserve cartarray(cart_columns,cartmaxused + 10)

end if

cartmaxused = cartmaxused +1
addcartelement = cartmaxused

end function





dim rowloop, colonneloop ' ARRAY UDSKRIVES SOM
' en nested for - next løkke


for rowloop=0 to ubound(cartarray,2)

for colonneloop=0 to ubound(cartarray,1)


response.write(cartarray(colonneloop, rowloop) & "<br>")



next 'colonneloop

next 'rowloop


%>

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (24-05-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-05-06 23:19

john wengel skrev:

> Jeg har valgt at bruge session-opjektet og bruger koden nedenfor.
> - men dataene bevares ikke. Startes der en ny session eller hvad
> går der galt?- på forhånd tak

Så vidt jeg kan se læser du aldrig fra din session-variabel - du
gemmer bare en ny værdi i den.


> session ("cartarray")=cartarray ' array til sessionvariabel
> session ("cartmaxused")=cartmaxused ' se ovenfor

Du skal have noget kode der læser fra dine to session-variable,
lægger indholdet over i en normal variabel som du så kan ændre på
siden, og til sidst skal den ændrede variabel så igen gemmes i
session-variablen.

NB: Det er svært at læse tekster hvor det hele er skrevet MED STORE
BOGSTAVER. Dine kommentarer i asp-koden ville være langt lettere at
overskue hvis du skrev dem med normal versalering.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

john wengel (25-05-2006)
Kommentar
Fra : john wengel


Dato : 25-05-06 15:16

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> john wengel skrev:
>
> >
> Så vidt jeg kan se læser du aldrig fra din session-variabel - du
> gemmer bare en ny værdi i den.
>
>
> > session ("cartarray")=cartarray ' array til sessionvariabel
> > session ("cartmaxused")=cartmaxused ' se ovenfor
>
> Du skal have noget kode der læser fra dine to session-variable,
> lægger indholdet over i en normal variabel som du så kan ændre på
> siden, og til sidst skal den ændrede variabel så igen gemmes i
> session-variablen.
>

Jeg har prøvet med nedenstående kode i en ny asp fil som ligger i
samme mappe som filen hvor session-variablen bliver erklæret,
men der udskrives intet. Det virker som om session-variablen er tom.
Jeg har overvejet at erklære variablen i global.asa; men jeg har læst
at man skal undgå arrays o.lign. i global.asa. Jeg ved heller ikke
hvad forskel det skulle gøre.

Dog har jeg set at det netop er hvad man gør i nogle scripts til
indkøbskurve!


<%

'nedenstående skulle udskrive indholdet af session("cartarray") som er
erklæret på en foregående side

dim cartarray ' erklæring af variabel
dim cartmaxused ' erklæring af variabel


cartarray=session("cartarray") ' variabel sættes lig
session("cartarray") s


cartmaxused=session("cartmaxused") 'bruges ikke lige her

dim rowloop, colonneloop ' nested for next løkke udskriver indholdet
af array



for rowloop=0 to ubound(cartarray,2) ' udskriver rækker i array

for colonneloop=0 to ubound(cartarray,1) ' udskriver kolonner i array


response.write(cartarray(colonneloop, rowloop) & "<br>")



next 'colonneloop

next 'rowloop

%>

John Wengel

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste