Avatar billede karsten_larsen Praktikant
10. februar 2004 - 15:06 Der er 5 kommentarer og
1 løsning

Session og array - men strengen vokser !

Løsningen er sikkert meget enkel, men jeg er kørt fast!!

Jeg har brug for at holde data i en session. En session som opbygges som en streng og skal have samme funktion som et array.

Start session er f.eks.

session("udsagn") = "0,0,0,0,0,0"

og efter bruger input ændre den sig f.eks. til

session("udsagn") = "0,0,0,4,0,6"

og efter næste bruger input

session("udsagn") = "1,2,0,4,0,6"

Min kode gør strengen længere og længere! Strengen skal maks være 6 enheder.

Nedenfor følger min kode.
??:-) karsten_larsen

<%
Dim udsagn(6)

  For i = 0 to 6
         
        IF udsagn(i) = "" then
              udsagn(i) = Request.Form("id"&i)
        end if
       
        If udsagn(i) <> "" then
            udsagn(i) = udsagn (i)
        end if

        if i = 0 then
            temp_session = session("udsagn")
        else
            temp_session = session("udsagn")& ","
        end if
        session("udsagn") = temp_session & udsagn(i)
  next

response.write "kontrol af session indhold = " & session("udsagn")

%>
<form name="form1" method="post" action="sessiondemo.asp">
  <input name="id0" type="radio" value="0">
  <input name="id1" type="radio" value="1">
  <input name="id2" type="radio" value="2">
  <input name="id3" type="radio" value="3">
  <input name="id4" type="radio" value="4">
  <input name="id5" type="radio" value="5">
  <input name="id6" type="radio" value="6"> 
  <input type="submit" name="Submit" value="Submit">
</form>
Avatar billede nute Nybegynder
10. februar 2004 - 15:25 #1
hmm ... du gør noget rimelig underlig ... prøv:

<%
Dim udsagn(6)
Dim strSessionValue : strSessionValue = ""
For i = 0 to 6
    strValue = Request.Form("id" & i )
    if( strValue = "" ) then
        strValue = "0"
    end if
    strSessionValue = strSessionValue & strValue
    if( i < 6 ) then
        strSessionValue = strSessionValue & ","
    end if
next
session("udsagn") = strSessionValue

response.write "kontrol af session indhold = " & session("udsagn")

%>
Avatar billede fennec Nybegynder
10. februar 2004 - 15:52 #2
Det ser rigtigt nok mærkeligt ud. Du har også for mange radiobuttons hvis du kun skal have 6 felter. Jeg har forenklet din kode lidt, til noget som burde virke.

<%
Dim udsagn(5), tmpARR

if len(session("udsagn")) =0 then session("udsagn") = "0,0,0,0,0,0" 'start på session
tmpARR = split(session("udsagn"),",")

  For i = 0 to 5
    if Request.Form("id"&i) <> "" then
      udsagn(i) = Request.Form("id"&i)
    else
      udsagn(i) = tmpARR(i)
    end if
  next
session("udsagn") = join(udsagn,",")
response.write "kontrol af session indhold = " & session("udsagn")

%>
<form name="form1" method="post" action="test.asp">
  <input name="id0" type="radio" value="1">
  <input name="id1" type="radio" value="2">
  <input name="id2" type="radio" value="3">
  <input name="id3" type="radio" value="4">
  <input name="id4" type="radio" value="5">
  <input name="id5" type="radio" value="6">
  <input type="submit" name="Submit" value="Submit">
</form>
Avatar billede karsten_larsen Praktikant
10. februar 2004 - 17:02 #3
hmm - jeg kigger videre på det i aften.
:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
10. februar 2004 - 21:34 #4
Tak for hjælpen begge. Fennec´s kommetar bragte mig videre, vil du lægge et svar.

:-) karsten_larsen

Og for dem som det kan interessere, blev løsningen.

Dim udsagn(5), tmpARR

if len(session("udsagn")) = 0 then session("udsagn") = "0,0,0,0,0" 'start på session
tmpARR = split(session("udsagn"),",")

  For i = 0 to 4
    if Request.Form("id"&i) <> "" then
      udsagn(i) = Request.Form("id"&i)
    else
      udsagn(i) = tmpARR(i)
    end if
  next
session("udsagn") = join(udsagn,",")
response.write "kontrol af session indhold = " & session("udsagn")




%>
<form name="form1" method="post" action="demo.asp">
  <input type="radio" name="id0" value="1">
  <input type="radio" name="id0" value="2">
  <br>
  <input type="radio" name="id1" value="3">
  <input type="radio" name="id1" value="4">
  <br>
  <input type="radio" name="id2" value="5">
  <input type="radio" name="id2" value="6">
  <br>
  <input type="radio" name="id3" value="7">
  <input type="radio" name="id3" value="8">
  <br>
  <input type="radio" name="id4" value="9">
  <input type="radio" name="id4" value="10">
  <br>
  <input type="submit" name="Submit" value="Submit">
</form>
Avatar billede fennec Nybegynder
11. februar 2004 - 08:03 #5
Takker :)
Avatar billede fennec Nybegynder
11. februar 2004 - 08:03 #6
også svarer vi lige.....
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