Avatar billede dta Nybegynder
23. marts 2005 - 10:26 Der er 17 kommentarer og
1 løsning

Timeout på form + Autologin

En bruger er ved at udfylde en form men bruger lang tid på dette så sessionen bliver slettet.

Jeg søger et script som redirecter til en login side, hvis sessionen er blevet slettet, gemmer den posted form og når login er successfull afslutted, redirecter til scriptet der skal behandle formen med de gemte posted data?
Avatar billede fennec Nybegynder
23. marts 2005 - 10:29 #1
Er det ikke nemmere at lave en skjult Iframe som reloader sig selv, og på denne måde holder session i live...
Avatar billede moejensen Nybegynder
23. marts 2005 - 10:36 #2
hvorfor sætter du ikke bare sessions levetiden op til ex 1 time eller 2?
Avatar billede moejensen Nybegynder
23. marts 2005 - 10:38 #3
du kan enten sætte det direkte på instansen af dit webhotel, hvis du har adgang til serveren, eller sætte følgende i toppen af din kode:

Session.Timeout = 120
Avatar billede moejensen Nybegynder
23. marts 2005 - 10:39 #4
Problemet med det du gerne vil ha, er at det ikke er fysisk muligt, da formen skal submittes for at dataene bliver sendt til serveren. Hvis ikke dataene bliver sendt ti lserveren, kan de ikke gemmes, så de kan vises igen når brugeren logger på igen.
Avatar billede dta Nybegynder
23. marts 2005 - 10:42 #5
Jeg er klar over timeout men det er ikke den løsnig jeg vil have.

Dataerne bliver sendt til serveren og scripted der skal behandle formen finder ud af at sessioen er slettet og skal så redirekte til login formen.
Avatar billede moejensen Nybegynder
23. marts 2005 - 11:30 #6
okay, hvir formen bliver submittet, og dataene bliver gemt, så skal du bare gemme id'et for den pågældende record i en session, sammen med en session for den side brugeren kom fra, når så brugeren er logget ind igen, så kalder du de to sessioner og sernder dem tilbage til siden og henter dataen ud.
Avatar billede dta Nybegynder
23. marts 2005 - 12:17 #7
Dataene skal jo kun gemmes hvis brugeren bekræftes via en ny login ellers skal de ikke gemmes. e.g. man glemmer at logge af på biblioteket og en anden beslutter at ændre dataene efter sessionen er slettet.
Avatar billede moejensen Nybegynder
23. marts 2005 - 12:28 #8
så skal du ved submit gemme dataen i nogle sessioner, der så kun bliver skrivet tilbage i formen, hvis det er den samme beruger der logge på igen. Ulæmpen er bare at hvis browseren lukkes, så bliver sessionerne slettet.
Avatar billede dta Nybegynder
23. marts 2005 - 12:51 #9
Så vidt jeg kan se kræver det at du kender dataene, men da den skal være generisk skal den virke med all forme uanset data
Avatar billede moejensen Nybegynder
23. marts 2005 - 12:59 #10
jeg tvivler på at du kan lave en sådan løsning - desværre.
Avatar billede fennec Nybegynder
23. marts 2005 - 13:09 #11
Du kan jo hente alle informationerne ud fra form og querystring med
request.querystring()
request.form()

Du skal godt nok selv klippe det ud bagefter, da du får alle informationerne som en lang streng, men du jo & og = som skille tegn, se en split på & også en split på = og du skulle have alle info.
Avatar billede dta Nybegynder
31. marts 2005 - 11:13 #12
At hente dataene ud via request.querystring()og request.form()er nemt nok. At sørge for at querystring er givet vidre efter login er også nemt nok men hvorledes håndtere man request.form()_
Avatar billede fennec Nybegynder
31. marts 2005 - 11:25 #13
Du opretter en form med hiddenfelter med navn og værdi fra request.form. Denne autosubmitter så sig selv onLoad.
Avatar billede dta Nybegynder
31. marts 2005 - 11:31 #14
Lyder som den rigtige ide! Har duu et script?
Avatar billede fennec Nybegynder
31. marts 2005 - 11:50 #15
Desværre ikke :(

Men det burde ikke være så svært. Jeg ville gemme request.querystring(), request.form() og targetSide (den side som form data skal sendes til) i 3 session variabler. Når login så er fuldført, redirecter du til en formsSend.asp side som opretter en form med hidden felter og autosubmitter. Noget i denne stil:

<body onLoad="document.myForm.submit();">
<form name="myForm" method="post" action="<%= session("targetSide") &"?"& session("querystring") %>">
<%
tmpArr = split(session("form"),"&")
for f=0 to ubound(tmpArr)
  tmpData = split(tmpArr(f),"=")
  response.write "<input type=""hidden"" name="""& tmpData(0) &""" value="""& tmpData(1) &""">"
next
%>
</form>
Avatar billede dta Nybegynder
31. marts 2005 - 12:13 #16
Nej, det var iden der manglede, det ville jo være nemmest hvis du havde et liggende. Kikker på det i Weekenden.
Avatar billede dta Nybegynder
12. februar 2008 - 20:55 #17
Fennec: Smid et svar så vi kan få denne aflivet!
Avatar billede fennec Nybegynder
13. februar 2008 - 08:10 #18
.o) <-- One Eyed Jack
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