Avatar billede mnoer Nybegynder
24. juni 2003 - 22:36 Der er 11 kommentarer og
1 løsning

Problem med session

Hej,
jeg har et underligt problem med en session... den hedder session("msg") og indeholder bare en besked, som f.eks. "Beskeden er sendt"! Når session("msg") ikke er tom laves en popup der indeholder beskeden, eller burde indeholde beskeden... her er koden:

<%
if session("msg") <> "" then
%>
    <script>
    winStats='toolbar=0,location=0,menubar=0,scrollbars=0,height=80,width=300'
    win = window.open("msgs.asp","",winStats)
    </script>
<%
session("msg") = ""   
end if
%>

og msgs.asp ser således ud:
<table width="100%" border="0" cellspacing="0" cellpadding="3">
  <tr>
    <td align="center" valign="middle"><font size="3" color="#FF0000"><%=session("msg")%></font><br><br><a href="java script:onClick=window.close();"><u>Luk vinduet</u></a></td>
  </tr>
</table>


Det underlige er at når filerne ligger i roden virker det ikke, men hvis filerne ligger i en undermappe virker den samme kode fint! Den kommer ikke med nogle fejl, session("msg") bliver bare ikke udskrevet hvis filerne ligger i roden.. nogle der har nogle foreslag?
Avatar billede erikjacobsen Ekspert
24. juni 2003 - 22:39 #1
Tænk på at session("msg")="" kan blive udført før din msgs.asp bruger
værdien. Det sker nok ikke hver gang, derfor det forskellige resultat.
Avatar billede netro Nybegynder
24. juni 2003 - 22:40 #2
Du tømmer din session, inden vinduet åbner.
Avatar billede erikjacobsen Ekspert
24. juni 2003 - 22:40 #3
<%
if session("msg") <> "" then
session("msg2")=session("msg")
%>
    <script>
    winStats='toolbar=0,location=0,menubar=0,scrollbars=0,height=80,width=300'
    win = window.open("msgs.asp","",winStats)
    </script>
<%
session("msg") = "" 
end if
%>

og msgs.asp ser således ud:
<table width="100%" border="0" cellspacing="0" cellpadding="3">
  <tr>
    <td align="center" valign="middle"><font size="3" color="#FF0000"><%=session("msg2")%></font><br><br><a href="java script:onClick=window.close();"><u>Luk vinduet</u></a></td>
  </tr>
</table>
Avatar billede mnoer Nybegynder
24. juni 2003 - 22:41 #4
tvivler på at det er derfor.. har haft session("msg")="" i msgs.asp (til sidst i filen self.) men det giver ikke noget andet resultat hverken når filerne ligger i roden eller når filerne ligger i en undermappe
Avatar billede netro Nybegynder
24. juni 2003 - 22:41 #5
Så flyt session("msg") = "" over i msgs.asp, efter du HAR udskrevet meddelelsen.
Avatar billede netro Nybegynder
24. juni 2003 - 22:43 #6
Ok, men hvorfor ikke bare overføre teksten med en querystring?

URL = "msgs.asp?" & Server.Urlencode("Tak for dit brev. Du får snart besked!")
Avatar billede netro Nybegynder
24. juni 2003 - 22:44 #7
Sikke noget sludder. Sådan her selvfølgelig:

URL = "msgs.asp?besked=" & Server.Urlencode("Tak for dit brev. Du får snart besked!")
Avatar billede mnoer Nybegynder
24. juni 2003 - 22:46 #8
det er en mulighed ja.. men er der en fornuftig forklaring på hvorfor det andet ikke virker når det ligger i wwwroot?
Avatar billede netro Nybegynder
24. juni 2003 - 22:56 #9
Det er der utvivlsomt, men umiddelbart lyder det lidt spøjst i mine ører.
Avatar billede mnoer Nybegynder
24. juni 2003 - 23:03 #10
ja om ikke andet kan det være (endnu) en fejl i IIS... men det er jo heller ikke udelukket at det er mig der ikke kan finde ud af det :-)

men tak for hjælpen.. løsningen blev at jeg sender beskeden med som en QueryString
Avatar billede netro Nybegynder
24. juni 2003 - 23:05 #11
Det er efter min mening også at foretrække til den slags.
Avatar billede mnoer Nybegynder
24. juni 2003 - 23:13 #12
tja det kan du have ret i.. specielt når det andet ikke virker ;)
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