Operation Manual
DREAMWEAVER CS3
Handboek
509
Gebruik sessievariabelen om gegevens op te slaan, waartoe elke pagina in een webtoepassing toegang kan hebben. Dit
kunnen zeer uiteenlopende gegevens zijn, zoals de gebruikersnaam, de gewenste tekengrootte of een vlag die aangeeft of de
gebruiker zich met succes heeft aangemeld. Sessievariabelen worden ook vaak gebruikt voor het bijhouden van een lopend
aantal, bijvoorbeeld het aantal vragen dat tot dusverre correct is beantwoord bij een online quiz of de producten die de
gebruiker tot dan heeft geselecteerd in een online catalogus.
Sessievariabelen kunnen alleen functioneren als de browser van de gebruiker is geconfigureerd voor het accepteren van
cookies. De server creëert een id-nummer voor de sessie waarmee de gebruiker op unieke wijze wordt geïdentificeerd
wanneer de sessie wordt gestart, en zendt vervolgens een cookie met het id-nummer naar de browser van de gebruiker.
Wanneer de gebruiker om een andere pagina op de server verzoekt, leest de server het cookie op de browser om de
gebruiker te identificeren en de in het geheugen van de server opgeslagen sessievariabelen van de gebruiker op te halen.
Informatie in sessievariabelen verzamelen, opslaan en ophalen
Voordat u een sessievariabele maakt, moet u eerst de informatie die u wilt opslaan, verzamelen en deze vervolgens naar de
server verzenden waar de informatie wordt opgeslagen. U kunt informatie verzamelen en naar de server verzenden met
behulp van HTML-formulieren of hypertextkoppelingen met URL-parameters. U kunt ook informatie verzamelen via
cookies die op de computer van de gebruiker zijn opgeslagen, via HTTP-koppen die door de browser van de gebruiker met
een paginaverzoek worden verzonden of vanuit een database.
URL-parameters die worden opgeslagen in sessievariabelen, vindt u bijvoorbeeld vaak in productcatalogi. In een
productcatalogus worden 'hard-coded' URL-parameters die worden gecreëerd met behulp van een koppeling, gebruikt om
productinformatie terug te sturen naar de server, zodat deze informatie kan worden opgeslagen in een sessievariabele.
Wanneer een gebruiker op de koppeling 'Toevoegen aan winkelwagentje' klikt, wordt de product-id opgeslagen in een
sessievariabele terwijl de gebruiker doorgaat met winkelen. Wanneer de gebruiker naar de betalingspagina gaat, wordt de
in de sessievariabele opgeslagen product-ID opgehaald.
Een op formulieren gebaseerde enquête is een typisch voorbeeld van een pagina waarop formulierparameters worden
opgeslagen in sessievariabelen. Het formulier verzendt de geselecteerde informatie terug naar de server, waar een
toepassingspagina een score aan de enquête toekent en de antwoorden opslaat in een sessievariabele die moet worden
doorgegeven aan een toepassing die mogelijk een totaalberekening maakt van de reacties die zijn verzameld van alle
deelnemers aan de enquête. Of de informatie wordt in een database voor later gebruik opgeslagen.
Nadat er informatie naar de server is verzonden, slaat u de informatie op in sessievariabelen door de juiste code voor uw
servermodel toe te voegen aan de pagina die wordt opgegeven door de URL- of formulierparameter. Wordt de doelpagina
genoemd. Deze pagina wordt in het kenmerk
action van het HTML-formulier of in het kenmerk href van de
hypertekstkoppeling op de startpagina opgegeven.
Nadat u de waarde hebt opgeslagen in een sessievariabele, kunt u Dreamweaver gebruiken om de waarde op te halen uit
sessievariabelen en deze te gebruiken in een webtoepassing. Nadat u de sessievariabele hebt gedefinieerd in Dreamweaver,
kunt u de waarde ervan invoegen in een pagina.
De HTML-syntaxis hiervoor ziet er als volgt uit:
<form action="destination.html" method="get" name="myform"> </form>
<param name="href"value="destination.html">
Zoweldegebruikerservertechnologiealsdemethodedieugebruiktvoorhetinbezitkrijgenvandeinformatie,bepaaltde
code die wordt gebruikt voor de opslag van de informatie in een sessievariabele. De basissyntaxis voor elke
servertechnologie is als volgt:
ColdFusion
<CFSET session.variable_name = value>
ASP en ASP.NET
<% Session("variable_name") = value %>