Avatar billede kovalt Nybegynder
20. august 2003 - 09:29 Der er 25 kommentarer og
1 løsning

mister sessionvariabel

Hej

  Jeg har en side hvor man kan oprettet nogle poster i en DB, som bliver registreret under det login, man er logget ind under.

Mit problem er, at man skal være logget ind for at gøre det og at man i den forbindelse bliver logget ud første gang man forsøger at oprette en ny post - herefter er der ingen problemer.

Måden hvorpå jeg gør det er:

1. Man udfylder en form som kalder en anden ASP-fil som gemmer dataene i DB. (action="minfil.asp")

2. sidste linie i "minfil.asp" er en response.redirect "url" som sender mig tilbage til den oprindelige side.

- det er i pkt. 2 kæden springer af, idet jeg under pkt. 1 bruger sessionvariablen som ID-nummer i min SQL - derfor ved jeg den stadig er aktiv når minfil.asp kører. Når jeg så bliver redirectet tilbage er session-variablen tømt og jeg skal logge ind igen for at se at posten er blevet oprettet (for det er den)

Håber det giver lidt mening - ellers skriver i bare :-)

Nogen bud på hvad der kan være galt? Jeg synes jar har anvendt samme fremgangsmåde tidligere uden problemer, men måske er det bare mig :-)

/Kovalt
Avatar billede erikjacobsen Ekspert
20. august 2003 - 09:36 #1
Det bliver lidt et gæt: er din første fil, med formen, en .html eller en
.asp fil. Hvis det ikke er en .asp fil, så prøv at omdøbe den til det.
Hvis det så virker anderledes, skal du nok få en forklaring.
Avatar billede Cars10 Praktikant
20. august 2003 - 09:46 #2
Her er et gæt.
På din side hvor du udfylder din form der sender data til din DB kan det være at du hente bruger og adgange kode fra en forgående side (bruger og adgangskode formen), da disse nu er tomme kan det være du tjecker for dette og dermed logger brugeren ud.

Ellers prøv lige at skrive dit kode herind
Avatar billede kovalt Nybegynder
20. august 2003 - 10:36 #3
erikjacobsen -> siden er af typen .asp

cars10 -> burder det så ikke ske hver gang men opretter... det er kun første gang (indtil sessionvariablen expires)
Avatar billede kovalt Nybegynder
20. august 2003 - 10:44 #4
her er noget kode:

FILEN MED FORMEN:

strPrint = strPrint & "<form action='functions/createOddsMatch.asp' method='post'>"

strPrint = strPrint & "<input type='hidden' name='createSingleBet' value='"& request.form("matchTypeDropDown") &"#"& request.form("accountDropDown") &"#"& strHjemmehold &"#"& strUdehold &"#"& dblOdds &"#"& dblIndsats &"#"& strBet &"#"& dblScoreLimit &"'>"

strPrint = strPrint & "<table cellpadding='5' cellspacing='0' id='menuTable'><tr><td width='540' class='head' align='right' colspan='5'>"

strPrint = strPrint & "Oprettes på kontoen: " & strAccountName &" (indsats: "& formatNumber(dblIndsats,2) &" kr.)</td></tr>"

strPrint = strPrint & "<tr><td><strong>Kamp</strong></td><td align='center'><strong>Spil</strong></td>"

strPrint = strPrint & "<td align='center'><strong>Grænse</strong></td><td align='center'><strong>Odds</strong></td><td align='center'><strong>Mulig gevinst</strong></td></tr>"

strPrint = strPrint & "<tr><td>"& strHjemmehold &" - "& strUdehold &"</td><td align='center'>"& strBet &"</td>"

strPrint = strPrint & "<td align='center'>"& dblScoreLimit &"</td><td align='center'>"& dblOdds &"</td><td align='center'>"& FormatNumber(CDbl(dblTempOdds)*CDbl(dblTempIndsats),2) &" kr.</td></tr></table><br>"

strPrint = strPrint & "<font size='1'>Er disse oplysninger korrekte?</font><br><br>"

strPrint = strPrint & "<input type='submit' value='Ja' id='smallbutton'>  <input type='button' id='smallbutton' value='Nej' onClick=""history.go(-1);""></form>"



FILEN functions/createOddsMatch.asp som hentes når formen submittes




<!--#include file="convertDateToDB.asp"-->

<% if CInt(session("niveau")) < 10 then

    strPrint = ""
    strPrint = strPrint & "Du har ikke rettigheder til denne side"
    response.write strPrint
    strPrint = ""

else

    Dim createSingleArray
    Dim intWeeknumber
   
    createSingleArray = Split(request.form("createSingleBet"),"#")
   
    intWeekNumber = DatePart("ww",now(),vbMonday)
       
    strDato = Month(Date) &"-"& Day(Date)& "-"& Year(Date)
    strFixedDate = convertDateToDB(strDato)

    strSQL = "INSERT INTO spil_master (klubnr, spillerNr, kontoNr, dato, ugenr, indsats, spiltype)" &_
    "VALUES ("& session("tipsklubNr") &", "& session("userNumber") &", "& createSingleArray(1) &", #"& strFixedDate &"#, "& intWeekNumber &", "& createSingleArray(5) &", 'Singlebet')"
    response.write strSQL
    objConn.execute(strSQL)

    strSQL = "select @@identity as newid"
    objRec.Open strSQL, objConn, 3, 1, 1

    if CInt(createSingleArray(0)) = 3 then
        strSQL = "INSERT INTO spil_oddsKamp (betnr, matchTypeNr, hjemmehold, udehold, spillet, scorelimit, odds)" &_
        "VALUES ("& objRec("newID") &", "& createSingleArray(0) &", '"& createSingleArray(2) &"', '"& createSingleArray(3) &"', '"& createSingleArray(6) &"', '"& createSingleArray(7) &"', "& createSingleArray(4) &")"
    elseif CInt(createSingleArray(0)) = 7 then
        strSQL = "INSERT INTO spil_oddsKamp (betnr, matchTypeNr, hjemmehold, udehold, spillet, scorelimit, odds)" &_
        "VALUES ("& objRec("newID") &", "& createSingleArray(0) &", '"& createSingleArray(2) &"', '"& createSingleArray(3) &"', '"& createSingleArray(6) &"', '"& createSingleArray(7) &"#"& createSingleArray(8) &"', "& createSingleArray(4) &")"
    else
        strSQL = "INSERT INTO spil_oddsKamp (betnr, matchTypeNr, hjemmehold, udehold, spillet, odds)" &_
        "VALUES ("& objRec("newID") &", "& createSingleArray(0) &", '"& createSingleArray(2) &"', '"& createSingleArray(3) &"', '"& createSingleArray(6) &"', "& createSingleArray(4) &")"
    end if

    objConn.execute(strSQL)
    objRec.Close   

*****ALT OVENFOR VIRKER SOM DET SKAL - DET ER HERFRA DET STOPPER

-->    response.Redirect("forside.asp")
   
end if %>


nar man så bliver redirected til forside.asp stopper festen - så er sessionvariablerne tomme.

Kan sessionvariabler ikke overleve en tur forbi en anden side?

/kovalt
Avatar billede kovalt Nybegynder
20. august 2003 - 10:53 #5
hvis jeg så logger ind igen så er der efterfølgende ikke nogen problemer....

det virker lidt som om sessionvariablerne bliver flyttet til

createOddsMatch.asp

når man henter denne side når formen submittes og at de så ikke kan komme med tilbage igen....
Avatar billede eagleeye Praktikant
20. august 2003 - 10:56 #6
Det lyder som om du ikke har slået session variable til i IE ?
Har du en side vi kan se det på?
Avatar billede kovalt Nybegynder
20. august 2003 - 11:07 #7
gå ind på www.oddsportalen.dk og log ind med

username: test
password: test

tryk på "min oddsportal" og vælg "opret spil" over til højre. Herefter vælger du Singlebet i dropdownen og udfylder derefter noget fiktivt og så accepterer du at oprette væddemålet....

så skulle fejlen gerne komme......
Avatar billede kovalt Nybegynder
20. august 2003 - 11:08 #8
hvis du så logger ind igen herefter vil du se at spillet er blevet oprettet... hvis der herefter forsøger at oprette et nyt spil er der ingen problemer
Avatar billede eagleeye Praktikant
20. august 2003 - 11:20 #9
Når jeg trykker OK til et vædedemål kommer denne:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'CInt'

/specielt/tipsklubber/createSingleBet.asp, line 108
Avatar billede eagleeye Praktikant
20. august 2003 - 11:23 #10
hmm fik ikke udfyldt det helt tigtigt ;)
Avatar billede eagleeye Praktikant
20. august 2003 - 11:23 #11
Ganske rigtigt jeg får samme fejl ??
Avatar billede kovalt Nybegynder
20. august 2003 - 11:23 #12
its called debugging :-)

tryk lige back og udfyld lige kamptype og konto oppe i toppen
Avatar billede kovalt Nybegynder
20. august 2003 - 11:25 #13
det virker for mig som om indholdet af sessionvariablerne bliver hængende i createOddsMatch.asp.. - nu kan du nemlig oprette spil uden fejl de næste tyve minutter indtil sessionvariablerne udløber på createOddsMatch.asp
Avatar billede kovalt Nybegynder
20. august 2003 - 11:28 #14
giver det nogen mening....?
Avatar billede erikjacobsen Ekspert
20. august 2003 - 11:36 #15
Jamen er det forside.asp du skal redirecte til, og ikke index.asp. Skriver
du

  http://www.oddsportalen.dk/forside.asp

får du en fejl, som tyder på det kunne være en include fil, der ikke kan stå
alene.
Avatar billede kovalt Nybegynder
20. august 2003 - 11:38 #16
jeg redirecter til denne sti....

response.Redirect("http://oddsportalen.dk/index.asp?connect=1&valgt=tipsklubber&sub=createSpil&status=done")

forside.asp er en fejl
Avatar billede kovalt Nybegynder
20. august 2003 - 11:38 #17
sorry
Avatar billede kovalt Nybegynder
20. august 2003 - 11:39 #18
og så bliver følgende printet:

...

elseif request.querystring("status") = "done" then
   
response.write "<table cellpadding='5' cellspacing='0' id='menuTable' width='420'><tr><td class='head'>Opret spil</td></tr><tr><td>"

response.write "Dit spil er nu oprettet."

response.write "</tr></td></table><br><input type='button' id='smallbutton' value='OK' onclick=""self.location.href='index.asp?connect=1&valgt=tipsklubber&sub=createSpil'"">"

else

.....
Avatar billede erikjacobsen Ekspert
20. august 2003 - 11:41 #19
Avatar billede kovalt Nybegynder
20. august 2003 - 11:46 #20
???? - den kommer med en fejl - men jeg er jo heller ikke logget ind når det er jeg klikker her fra eksperten....
Avatar billede kovalt Nybegynder
20. august 2003 - 11:47 #21
eller det er måske mig der er helt ude at puste grise op :-)
Avatar billede kovalt Nybegynder
20. august 2003 - 11:51 #22
det der afgør om fejlen kommer er om der findes en sessionvariabel der hedder niveau - hvis denne ikke findes kommer fejlen - findes denne kommer der ingen fejl....

er det ikke muligt at spørge på den måde
Avatar billede kovalt Nybegynder
20. august 2003 - 23:12 #23
kan man ikke det jeg prøver på eller? - jeg synes bare jeg har gjort det tidligere
Avatar billede kovalt Nybegynder
20. august 2003 - 23:19 #24
hold kæft mand hvor latterligt.... måske jeg lige skulle åbne mine skod-øjne....

Tak for det Erik - det hjælper lige at komme væk fra det nogle timer :-)

smider du ikke lige et svar for dine 3 w'er :-)

/kovalt
Avatar billede erikjacobsen Ekspert
21. august 2003 - 13:08 #25
Ja, ok - det var ikke noget særligt. Men så vidt jeg husker, jeg
ved blot ikke hvordan, kan man sætte sessions op til at gå
på både www.dom... og dom....
Avatar billede kovalt Nybegynder
01. september 2003 - 13:03 #26
OK.... skidt med det - jeg tror bare jeg vil øve mig i at linke ordentligt i fremtiden :-.)

tanx 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