Bij het ontwerpen van webtoepassingen willen webontwikkelaars soms toegang tot variabelegegevens die niet via een URL worden doorgegeven, maar wel beschikbaar zijn in de toepassing. Een webtoepassing voor agenda's kan bijvoorbeeld bezoekers vragen naar hun voorkeur voor een tijdzone. Vervolgens kunnen de datum en tijd van die tijdzone op alle pagina's van de toepassing worden weergeven. Sessievariabelen bieden deze functionaliteit.
Hoewel sessievariabelen een krachtig hulpmiddel zijn in het arsenaal van webontwikkelaars, genereert Dreamweaver niet automatisch alle code die nodig is om te zorgen dat de variabelen werken. In dit document vindt u een beschrijving van de sessievariabelen en de stappen voor het gebruik ervan in de verschillende servermodellen die door Dreamweaver worden ondersteund.
Voor het gebruiken en begrijpen van dit document moet de ontwikkelaar met een servermodel werken, zoals ASP of ColdFusion. Ontwikkelaars moeten bekend zijn met de volgende concepten. Bovendien moeten ze een versie van Dreamweaver gebruiken die dynamische ontwikkeling ondersteunt (Dreamweaver MX of Dreamweaver MX 2004). Zie de desbetreffende secties van de gebruikershandleiding of het Help-systeem van Dreamweaver voor meer informatie.
Sessievariabelen bieden ontwikkelaars de mogelijkheid om bezoekersinformatie op te slaan door een variabele in te stellen die voor de duur van de sessie van de bezoeker voor de toepassing toegankelijk is.
Sessievariabelen hebben de volgende eigenschappen:
In het algemeen leggen ontwikkelaars de gegevens voor sessievariabelen vast door een bezoeker een formulier in de webtoepassing te laten invullen. De sessievariabele wordt ingesteld op de waarde van een formulierveld. In de voorbeelden in deze TechNote wordt gebruikgemaakt van informatie van een formulierelement om de waarde van een sessievariabele in te stellen.
Voor alle servermodellen, behalve ASP.NET, heeft Dreamweaver een menufunctie om sessievariabelen naar een pagina te schrijven nadat een sessievariabele is gemaakt. Dreamweaver biedt echter geen menufunctie om een waarde aan een sessievariabele toe te wijzen (ook wel een instantiërende sessievariabele genoemd). Een waarde moet handmatig in de broncode aan een sessievariabele worden toegewezen.
Opmerking: Het voorbeeld voor ASP.NET wijkt aanzienlijk af van de andere servermodellen, aangezien ASP.NET meestal webformulieren gebruikt in plaats van traditionele HTML-formulieren. Als u het ASP.NET-servermodel gebruikt, raadpleegt u Voorbeeld van ASP.NET aan het einde van dit document.
Maak drie dynamische pagina's binnen de site. De eerste pagina bevat een HTML-formulier (wordt in de volgende stap beschreven) dat bij de tweede pagina wordt ingediend. Op de tweede pagina maakt u een hyperlink die naar de derde pagina.
Opmerking: De reden waarom er in dit voorbeeld drie pagina's worden gebruikt, is om te bewijzen dat een sessievariabele voor een tweede, derde en daaropvolgende pagina beschikbaar is. Aanvraagvariabelen, die een alternatief vormen voor sessievariabelen, kunnen van de ene pagina naar een tweede worden overgedragen. Deze zijn echter niet beschikbaar voor een derde of daaropvolgende pagina.
Start Codeweergave (Weergave > Code) op de tweede pagina. Boven de <html>-openingstag typt u de code voor uw servermodel uit de onderstaande lijst:
met deze code wordt de inhoud uit het formulierelement 'txtFirstName' gehaald, dat op de eerste pagina was gemaakt. Vervolgens wordt de sessievariabele 'sessFirstName' gemaakt, die gelijk wordt gesteld aan de inhoud van het formulierelement. Met andere woorden, met deze code wordt een sessievariabele gemaakt die de informatie bevat die de gebruiker op de formulierpagina invoert.
Maak twee pagina's binnen de site. De eerste pagina bevat een ASP.NET-webformulier dat naar zichzelf terug wordt gepost en vervolgens naar de tweede pagina leidt.
Opmerking: De reden waarom er in dit voorbeeld twee pagina's worden gebruikt, is om te bewijzen dat een sessievariabele voor een tweede, derde, vierde en daaropvolgende pagina beschikbaar is. Aanvraagvariabelen, die een alternatief vormen voor sessievariabelen, kunnen niet vanuit een ASP.NET-webformulier op de ene pagina naar een tweede pagina worden overgedragen.
De eerste pagina moet een ASP.NET-webformulier bevatten dat een serverbesturingselement <asp:textbox> en een serverbesturingselement <asp:button> bevat. Stel het 'id'-attribuut van het tekstvakbesturingselement in op 'txtFirstName'. De volledige code voor de eerste pagina wordt hieronder vermeld. Kies of C# of VB, afhankelijk van de taal die u voor uw ASP.NET-site hebt gekozen:
Met deze code wordt de inhoud uit het serverbesturingselement <asp:textbox> met de naam 'txtFirstName' gehaald. De sessievariabele 'sessFirstName' wordt gemaakt, die gelijk wordt gesteld aan de inhoud van het serverbesturingselement. Met andere woorden, met deze code wordt een sessievariabele gemaakt die de informatie bevat die de gebruiker op de formulierpagina invoert.
Voor meer informatie over sessievariabelen raadpleegt u de volgende artikelen:
Aanmelden bij je account