Avatar billede fc-dong Nybegynder
01. september 2003 - 17:26 Der er 4 kommentarer og
1 løsning

Hvorfor vælger den kun den sidste session!

Hej
Jeg er i gang med at prøve at have med sessions at gøre. Men jeg forstår ikke lige hvordan det generelt hænger sammen.
Har lavet en testside, hvor jeg har en menu på 3 punkter. Når man vælger en af disse punkter i menuen, skulle dropdownboksen gerne ændre sig efter hvilken session man har valgt. Men den vælger altid, den sidste af disse (menu 3). Hvad gør jeg galt???
--------------------
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/Kitchnkool1.asp" -->
<%
Dim rsType__MMColParam
rsType__MMColParam = "1"
If (Session("ttt")  <> "") Then
  rsType__MMColParam = Session("ttt")
End If
%>
<%
Dim rsType
Dim rsType_numRows

Set rsType = Server.CreateObject("ADODB.Recordset")
rsType.ActiveConnection = MM_Kitchnkool1_STRING
rsType.Source = "SELECT *  FROM QRYVarervaelg  WHERE KategoriID = " + Replace(rsType__MMColParam, "'", "''") + ""
rsType.CursorType = 0
rsType.CursorLocation = 2
rsType.LockType = 1
rsType.Open()

rsType_numRows = 0
%>
<%
Dim rsVarer__varerv
rsVarer__varerv = "0"
If (Request.Form("varerv")            <> "") Then
  rsVarer__varerv = Request.Form("varerv")           
End If
%>
<%
Dim rsVarer
Dim rsVarer_numRows

Set rsVarer = Server.CreateObject("ADODB.Recordset")
rsVarer.ActiveConnection = MM_Kitchnkool1_STRING
rsVarer.Source = "SELECT *  FROM Varerdejt  WHERE TypeID = " + Replace(rsVarer__varerv, "'", "''") + " "
rsVarer.CursorType = 0
rsVarer.CursorLocation = 2
rsVarer.LockType = 1
rsVarer.Open()

rsVarer_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rsVarer_numRows = rsVarer_numRows + Repeat1__numRows
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#0000FF">
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="150">
      <table width="150" border="0" cellpadding="0" cellspacing="0" bgcolor="#999999">
       
        <tr>
          <td><a href="/testside.asp">Test 1</a> <%
' *** Set A Session Variable To Pre-Defined Value - UltraSessions_101
Session("ttt") = ("1")
%> </td>
        </tr>
        <tr>
          <td><a href="/testside.asp">Test 2</a>
            <%
' *** Set A Session Variable To Pre-Defined Value - UltraSessions_101
Session("ttt") = ("2")
%> </td>
        </tr>
        <tr>
          <td><a href="/testside.asp">Test 3</a> <%
' *** Set A Session Variable To Pre-Defined Value - UltraSessions_101
Session("ttt") = ("3")
%> </td>
        </tr>
      </table>
   
    </td>
    <td width="350">
      <div align="center">
        <form name="form1" method="post" action="/testside.asp">
          <select name="varerv" id="varerv" onChange="java script:document.form1.submit(this.form)">
            <option value="0">Valg varer</option>
            <%
While (NOT rsType.EOF)
%>
            <option value="<%=(rsType.Fields.Item("KategoriID").Value)%>"><%=(rsType.Fields.Item("Type").Value)%></option>
            <%
  rsType.MoveNext()
Wend
If (rsType.CursorType > 0) Then
  rsType.MoveFirst
Else
  rsType.Requery
End If
%>
          </select>
        </form>
      </div></td>
  </tr>
</table>
llllll
<p><br>
</p>

<%
While ((Repeat1__numRows <> 0) AND (NOT rsVarer.EOF))
%>
<% If Not rsVarer.EOF Or Not rsVarer.BOF Then %>
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><%=(rsVarer.Fields.Item("Varernavn").Value)%></td>
    <td><%=(rsVarer.Fields.Item("Pris").Value)%></td>
    <td><%=(rsVarer.Fields.Item("Type").Value)%></td>
    <td><%=(rsVarer.Fields.Item("Kategori").Value)%></td>
  </tr>
</table>
<% End If ' end Not rsVarer.EOF Or NOT rsVarer.BOF %>
<%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  rsVarer.MoveNext()
Wend
%>
</body>
</html>
<%
rsType.Close()
Set rsType = Nothing
%>
<%
rsVarer.Close()
Set rsVarer = Nothing
%>
Avatar billede eagleeye Praktikant
01. september 2003 - 17:41 #1
I dette styke kode:

        <tr>
          <td><a href="/testside.asp">Test 1</a> <%
' *** Set A Session Variable To Pre-Defined Value - UltraSessions_101
Session("ttt") = ("1")
%> </td>
        </tr>
        <tr>
          <td><a href="/testside.asp">Test 2</a>
            <%
' *** Set A Session Variable To Pre-Defined Value - UltraSessions_101
Session("ttt") = ("2")
%> </td>
        </tr>
        <tr>
          <td><a href="/testside.asp">Test 3</a> <%
' *** Set A Session Variable To Pre-Defined Value - UltraSessions_101
Session("ttt") = ("3")
%> </td>
        </tr>


Til session variblen "ttt" altid blive = "3"
Avatar billede fc-dong Nybegynder
01. september 2003 - 18:20 #2
Jo det kan jeg godt se. Men hvad så, hvis jeg gerne vil knytte en session til hver menupunkt.
Jeg bruger jo mit recordset til at vælge efter hvilken session jeg bruger.
Avatar billede eagleeye Praktikant
01. september 2003 - 18:31 #3
Man kan ikke sætte en session til et link. Så må man overføre id=X via querystring og ud fra det sætte Session variablen:


          <td><a href="/testside.asp?id=1">Test 1</a></td>
        </tr>
        <tr>
          <td><a href="/testside.asp?id=2">Test 2</a> </td>
        </tr>
        <tr>
          <td><a href="/testside.asp?id=3">Test 3</a> </td>



og i toppen på siden testside.asp

id = Request.QueryString("id")
if id = "" then id =  0
id = int(id)
if id = 1 then Session("ttt") = "1"
if id = 2 then Session("ttt") = "2"
if id = 3 then Session("ttt") = "3"


Eller bare dette når det nu er samme værdi der puttes i session variablen som der er i linket.
Session("ttt") = Request.QueryString("ID")
Avatar billede fc-dong Nybegynder
01. september 2003 - 18:34 #4
Den skal gemme en session. For når jeg bagefter bruge dropdownboksen, så falder den altid tilbage til den forkert værdi, og så er man nød tli at vælge ude i menuen igen. Det virker ikke helt smart
Avatar billede fc-dong Nybegynder
19. oktober 2004 - 09:22 #5
Jeg lukker dette spørgsmål.
Takker for hjælpen :-)
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