[ASP] variabelen van ene pagina naar andere

Pagina: 1
Acties:

  • ZeilDude
  • Registratie: Juli 2004
  • Laatst online: 19-02-2022
Stel:
  • ik werk met ASP (niet .NET);
  • ik wil werken met formulieren, bijvoorbeeld voor een enquete;
  • ik wil niet een pagina met alle vragen in één keer weergeven, maar de vragen verdelen over meerdere pagina's;
  • ik wil pas na de laatste vraag alle informatie naar de database posten, om niet te veel de datebase te hoeven benaderen.
Dan is er een aantal manieren om de gegevens uit de formulieren van pagina naar pagina te sturen:
  • met een sessievariabele;
  • in een queystring;
  • andere oplossing.
Hoe zou jij het doen en waarom? Als ik het goed heb ben je met een sessievariabele afhankelijk van cookies, toch? Dat wordt lastig als iemand die uit heeft staan. Nadeel van een querystring is dat je die kunt zien, wil je misschien niet.

Graag gefundamenteerde oplossingen.

[ Voor 1% gewijzigd door ZeilDude op 16-11-2004 16:42 . Reden: typo ]


  • bgrr
  • Registratie: Oktober 2001
  • Niet online
sessie vars zijn niet afhankelijk van cookies...

Deze worden gewoon in je browsersessie onthouden.


Cookies is de 4de mogelijkheid in je opsomming...


Mijn voorkeur gaat uit naar sessie , dan zien gebruikers niet wat je allemaal meegeeft in urls en t werkt altijd itt cookies.

Voor info over sessies zie : http://www.w3schools.com/asp/asp_sessions.asp


Je zou t ook met hidden inputs in forms kunnen doen. dan kun je verborgen info doorsturen naar een volgend scherm bij het posten van t scherm

[ Voor 75% gewijzigd door bgrr op 16-11-2004 16:42 ]


Verwijderd

bgrr schreef op dinsdag 16 november 2004 @ 16:36:
sessie vars zijn niet afhankelijk van cookies...

Deze worden gewoon in je browsersessie onthouden
Sessies bij PHP zijn wel afhankelijk van een cookie, om zo sessie waarden op de server aan de client te kunnen koppelen. Ik weet niet hoe dit in ASP geregeld is, maar ik denk niet dat ASP (serverside) iets doen met de lokale gegevens van de browser (clientside), dus misschien is hier ook een cookie voor nodig.

  • ZeilDude
  • Registratie: Juli 2004
  • Laatst online: 19-02-2022
bgrr schreef op dinsdag 16 november 2004 @ 16:36:
sessie vars zijn niet afhankelijk van cookies...

Deze worden gewoon in je browsersessie onthouden
Toch heb ik weleens negatieve dingen gehoord over sessievariabelen. Maar als ik jou goed begrijp, bestaat een sessievariabele gewoon zolang je browser open is (afgezien van de time-out) en wordt ie vernietigd zodra je je browser sluit?

Zo ja, dan is een sessievariabele toch ook mooi te gebruiken voor authorisatie? Controle wachtwoord --> ok, sessievariabele zegt dat je bent ingelogd. Ok, ik weet het dit is offtopic, mijn excuses, viel me gewoon even te binnen.

  • bgrr
  • Registratie: Oktober 2001
  • Niet online
jeps kunt er een leuke authenticatie mee doen met sessions...

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Why the hell heb je het over sessions in combinatie met het versturen van formulieren? Formulieren verstuur je met de POST method, en daar komen geen sessies of querystrings bij kijken... Je kan data die onthouden moet worden tussen pagina's door ook in hidden inputs laten invullen.

[ Voor 21% gewijzigd door NMe op 16-11-2004 16:47 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • ZeilDude
  • Registratie: Juli 2004
  • Laatst online: 19-02-2022
Ok, bedankt ook naar de link naar w3schools. Ik heb daar al een hoop gezien, maar deze pagina nog niet. Dit maakt wer een hoop duidelijk.

Hidden forms is ook een optie ja, alleen dus niet voor secure oplossingen, omdat je de HTML-code gewoon kunt lezen.

Maar goed om te weten dat sessievariabelen dus niet afhankelijk zijn van cookies. Dat dacht ik namelijk. Hmmm, waar heb ik die 'wijsheid' dan weer vandaan?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zoals ik het zou doen:
• Werk met 1 enkele .asp (enquete.asp) en geef die een vraag mee in de querystring (enquete.asp?vraagid=12)
• Toon de vraag in een form met alle voorgaande waardes in een <input type="hidden"...
• Als vraagid = laatstevraagid then resultaten berekenen en weergeven...

Simpel en "safe enough" :+

[ Voor 13% gewijzigd door RobIII op 16-11-2004 16:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Als je in je browser sessie-cookies disabled dan werken sessies niet meer in asp (wel in asp.net). Je kan zelf een component schrijven / installeren wat deze limitatie wegwerkt maar dat kost geld.

  • ZeilDude
  • Registratie: Juli 2004
  • Laatst online: 19-02-2022
NMe84 schreef op dinsdag 16 november 2004 @ 16:47:
Why the hell heb je het over sessions in combinatie met het versturen van formulieren? Formulieren verstuur je met de POST method, en daar komen geen sessies of querystrings bij kijken... Je kan data die onthouden moet worden tussen pagina's door ook in hidden inputs laten invullen.
pagina 1:
- formulier 1;
- na invullen doorsturen naar volgende pagina.

pagina 2:
- data uit formulier 1 inlezen en waarde aan sessievariabele geven;
- formulier 2;
- na invullen doorsturen naar volgende pagina.

pagina 3:
- waarden uit formulier 1 bestaan nog gewoon, want sessievariabele;
- data uit formulier 2 inlezen en waarde aan sessievariabele geven;
- formulier 3;
- na invullen doorsturen naar volgende pagina.

Misschien is het voordeel tov van hidden fields, dat je pagina's kunt overslaan. Dit is handig bij enquetes. Bij hidden fields moet je wel van pagina naar pagina gaan.

Toch?

  • deviltje
  • Registratie: Juli 2000
  • Niet online
Je kan het ook met div's doen... dan hoef je niet tussendoor te submitten.. als gebruiker op volgende klikt haal je een andere div naar voren..

Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


  • ZeilDude
  • Registratie: Juli 2004
  • Laatst online: 19-02-2022
Gert schreef op dinsdag 16 november 2004 @ 16:52:
Als je in je browser sessie-cookies disabled dan werken sessies niet meer in asp (wel in asp.net). Je kan zelf een component schrijven / installeren wat deze limitatie wegwerkt maar dat kost geld.
Hmm, dus ik heb de klok toch ergens goed horen luiden? Denk je dat er veel users zijn, die sessie-cookies diabled hebben staan?

  • xtra
  • Registratie: November 2001
  • Laatst online: 19-11-2025
ZeilDude schreef op dinsdag 16 november 2004 @ 16:56:
[...]


Hmm, dus ik heb de klok toch ergens goed horen luiden? Denk je dat er veel users zijn, die sessie-cookies diabled hebben staan?
Als ik kijk naar de statistieken die wat eigen webservers achterlaten vind ik het nog best veel. Ik weet niet of er firewall-achtige producten zijn die dit voor ze doen of dat ze het zelf uitzetten.

Voor simpele enquêtes gebruik ik zelf de verborgen div-methode. Het voordeel vind ik dat je heel snel naar de volgende vraag kunt gaan.
Ook de hidden fields heb ik wel gebruikt. Bij een langere enquête is het nadeel dat de te laden pagina steeds groter wordt. Geen probleem met een snelle verbinding maar voor die paar mensen met een analoog lijntje misschien wel.

De meest uitgebreide enquête die ik heb gemaakt haalde gewoon ieder vraag uit een database en zette de antwoorden er weer in. Een beetje webserver moet dit probleemloos aankunnen zonder dat de bezoeker het merkt. (Tenzij duizenden mensen de enquête tegelijkertijd invullen misschien.)

  • ZeilDude
  • Registratie: Juli 2004
  • Laatst online: 19-02-2022
Ok, dat voor die enquete is me wel duidelijk.
Of met <div> of met hidden fields voor kortere enquetes, anders toch tussendoor naar de database posten bij langere enquetes (ook handig als de verbinding eruit vliegt bij de user, gaan de gegevens niet verloren).

Wat betreft autenticatie, dat kan dus met een sessievariabele. Maar niet als sessie-cookies niet toegestaan zijn. Wat is dan een betere oplossing? Tot nu toe gebruikte ik dit wel, maar was de toegang alleen voor mezelf of voor users die wel sessievariabelen toestaan. Wat zou ik in dit geval gebruiken? Hidden fields lijken me nu niet echt veilig. Suggesties?

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je eigen implementatie schrijven van de manier waarop andere "talen" het doen bij het ontbreken van sessie-cookies. Een sessie parameter in de url meegeven en op de server zelf bijhouden wat bij welke sessie hoort.
Als je zoekt op database sessions kom je al een heel eind denk ik.
Pagina: 1