Användarhandbok Avbryt

Översikt över källor med dynamiskt innehåll

 

 

Obs!

Användargränssnittet i Dreamweaver och senare har förenklats. Det kan därför hända att du inte hittar vissa av alternativen i den här artikeln i Dreamweaver och senare. Mer information finns i den här artikeln.

Om källor med dynamiskt innehåll

En källa med dynamiskt innehåll är ett lagringsställe med information där du kan hämta och visa dynamiskt innehåll som ska användas på en webbsida. Källor med dynamiskt innehåll rymmer inte bara information lagrad i en databas, utan också värden från HTML-formulär, värden i serverobjekt och andra innehållskällor.

Med Dreamweaver ansluter du enkelt till en databas och skapar en postmängd som du kan hämta dynamiskt innehåll från. En postmängd är resultatet av en databasfråga. Den hämtar den specifika information som du efterfrågar och låter dig visa informationen på en viss sida. Du definierar postmängden baserat på informationen i databasen och innehållet som du vill visa.

Olika teknikleverantörer kan använda olika terminologi för en postmängd. I ASP och ColdFusion kallas en postmängd för query (fråga). Om du använder andra datakällor, till exempel användarindata eller servervariabler, är namnet på datakällan som definieras i Dreamweaver detsamma som namnet på själva datakällan.

Dynamiska webbplatser kräver en datakälla där de kan hämta och visa dynamiskt innehåll. I Dreamweaver kan du använda databaser, frågevariabler, URL-variabler, servervariabler, formulärvariabler, lagrade procedurer och andra källor med dynamiskt innehåll. Beroende på datakällan kan du antingen hämta nytt innehåll som svar på en fråga, eller ändra sidan så att den uppfyller användarnas behov.

Alla innehållskällor som du definierar i Dreamweaver läggs till i listan med innehållskällor i panelen Bindningar. Sedan kan du infoga innehållskällan på den markerade sidan.

Om postmängder

Webbsidor har inte direkt åtkomst till data som är lagrade i en databas. De interagerar i stället med en postmängd. En postmängd är en delmängd av den information (de poster), som är extraherad från databasen med en databasfråga. En fråga är en söksats som är utformad för att söka efter och extrahera specifik information från en databas.

När du använder en databas som en innehållskälla för en dynamisk webbsida, måste du först skapa en postmängd där du kan lagra de data som hämtas. Postmängder fungerar som ett mellanled mellan databasen som lagrar innehållet och programservern som genererar sidan. Postmängder lagras tillfälligt i programserverns minne så att data kan hämtas snabbare. Servern tar bort postmängden när den inte behövs längre.

En fråga kan producera en postmängd som endast innehåller vissa kolumner, endast vissa frågor eller en kombination av båda. En postmängd kan också inkludera alla poster och kolumner i en databastabell. Men eftersom det är sällan som all information i en databas behöver användas, bör du sträva efter att göra postmängderna så små som möjligt. Eftersom webbservern tillfälligt lagrar postmängden i minnet, används mindre minne med en mindre postmängd, vilket kan förbättra serverns prestanda.

Databasfrågor skrivs i SQL (Structured Query Language), ett enkelt språk som du använder för att hämta, lägga till och ta bort data från en databas. Med hjälp av SQL-verktyget i Dreamweaver kan du skapa enkla frågor utan att behöva förstå SQL. Om du vill skapa komplexa SQL-frågor är det emellertid bra att ha grundläggande kunskaper i språket, och du får också större flexibilitet när du utformar dynamiska sidor.

Innan du definierar en postmängd som ska användas med Dreamweaver måste du skapa en anslutning till en databas. Om det inte finns några data i databasen måste du ange data. Om du inte har definierat någon databasanslutning för platsen, läser du kapitlet om databasanslutningar för den serverteknik som du utvecklar för och följer instruktionerna för att skapa en databasanslutning.

Om URL- och formulärparametrar

URL-parametrar lagrar hämtade informationsindata från användare. Du definierar en URL-parameter genom att skapa ett formulär eller en hypertextlänk där metoden GET används för att skicka data. Informationen läggs till i den begärda sidans URL och kommuniceras till servern. När du använder URL-variabler innehåller frågesträngen ett eller flera namn/värde-par som är kopplade till formulärfälten. Namn/värde-paren läggs till i URL:en.

Formulärparametrar lagrar hämtad information som inkluderats i HTTP-förfrågan för en webbsida. Om du skapar ett formulär där metoden POST används, skickas data från formuläret till servern. Innan du börjar kontrollerar du att en formulärparameter skickas till servern.

Om sessionsvariabler

Med sessionsvariabler kan du lagra och visa information som bevaras under en användares hela besök (eller session). Servern skapar olika sessionsobjekt för alla användare och bevarar dem under en angiven tid, eller tills objektet avslutas uttryckligen.

Eftersom sessionsvariabler varar under hela användarens session och kvarstår när användaren flyttar mellan sidorna på webbplatsen är de idealiska för att lagra användarinställningar. Sessionsvariabler kan också användas för att infoga ett värde i sidans HTML-kod, tilldela ett värde till en lokal variabel eller tillhandahålla ett värde för utvärdering av ett villkorsuttryck.

Innan du definierar sessionsvariabler för en sida måste du skapa dem i källkoden. När du har skapat en sessionsvariabel i webbprogrammets källkod kan du använda Dreamweaver för att hämta dess värde och använda det på en webbsida.

Så här fungerar sessionsvariabler

I sessionsvariabler lagras information (vanligen formulär- eller URL-parametrar som skickas av användare) vilket gör dem tillgängliga till alla sidor i ett webbprogram så länge som användaren besöker sidan. När en användare t.ex. loggar in på en webbportal med tillgång till e-post, aktiekurser, väderprognoser och nyheter, lagras inloggningsinformationen i webbprogrammet i en sessionsvariabel som identifierar användaren på alla sidor på webbplatsen. Det här gör att användare kan välja vilket innehåll som ska visas för dem på webbplatsen. Sessionsvariabler kan också vara en säkerhetsfunktion som avslutar användarens session om kontot är inaktivt under en viss period. Det frigör också serverminne och resurser om användaren glömmer att logga av en webbplats.

Informationen lagras i sessionsvariabler så länge som användarsessionen varar. Sessionen börjar när användaren öppnar en sida i programmet och slutar när användaren inte öppnar någon annan sida i programmet under en viss tidsperiod, eller när användaren uttryckligen avslutar sessionen (genom att klicka på en länk för utloggning). Så länge sessionen pågår är den specifik för en viss användare och varje användare har en egen session.

Använd sessionsvariabler för att lagra information som varje sida i ett webbprogram ska ha tillgång till. Informationen kan vara olika typ t.ex. användarnamn, önskad teckenstorlek eller en flagga som anger om användaren är inloggad eller ej. Ett annat vanligt användningsområde för sessionsvariabler är en räknare som t.ex. håller reda på antalet frågor med rätt svar i en onlinefråga, eller antalet produkter som användaren hittills valt från en onlinekatalog.

Sessionsvariabler fungerar endast om användarens webbläsare är konfigurerad att acceptera cookies. Servern skapar ett sessions-ID-nummer som identifierar användaren unikt när sessionen startas första gången och skickar sedan en cookie som innehåller ID-numret till användarens webbläsare. När användaren begär en annan sida på servern, läser servern informationen i cookie-filen för att identifiera användaren och hämta användarsessionsvariablerna som är lagrade i serverminnet.

Samla, lagra och hämta information i sessionsvariabler

Innan du skapar en sessionsvariabel, måste du hämta den information som du vill lagra och sedan skicka den till servern för lagring. Du kan samla och skicka information till servern med HTML-formulär eller hypertextlänkar som innehåller URL-parametrar. Du kan också få information från cookies som är lagrade på användarens dator, från HTTP-huvuden som skickas av användarens webbläsare med en sidbegäran eller från en databas.

Ett typiskt exempel på när URL-parametrar lagras i sessionsvariabler är i produktkataloger som använder hårdkodade URL-parametrar som skapats med en länk för att skicka produktinformation tillbaka till servern för att lagras i en sessionsvariabel. När en användare klickar på länken ”Lägg till i varukorg” så lagras produkt-ID:t i en sessionsvariabel samtidigt som användaren fortsätter att shoppa. När användaren går till kassan, hämtas det produkt-ID som är lagrat i sessionsvariabeln.

En formulärbaserad undersökning är ett typiskt exempel på en sida som lagrar formulärparametrar i sessionsvariabler. Formuläret skickar den valda informationen tillbaka till servern. I servern räknar en programsida ut resultatet av undersökningen och lagrar svaren i en sessionsvariabel som skickas till ett program som räknar ihop svaren från alla undersökningsdeltagare. Informationen kan också lagras i databasen för att användas senare.

När informationen skickats till servern, lagrar du informationen i sessionsvariabler genom att lägga till koden för servermodellen till den sida som anges i URL- eller formulärparametern. Målsidan specificeras i HTML-formulärets action-attribut eller i href-attributet för hypertextlänken på startsidan.

När du lagrar värden i sessionsvariabler kan du använda Dreamweaver för att hämta värdena från sessionsvariabler och använda dem i webbprogram. När du har definierat sessionsvariabeln i Dreamweaver kan du infoga dess värde på en sida.

HTML-syntaxen är följande:

<form action="destination.html" method="get" name="myform"> </form>
<param name="href"value="destination.html">
<form action="destination.html" method="get" name="myform"> </form> <param name="href"value="destination.html">
<form action="destination.html" method="get" name="myform"> </form> 
<param name="href"value="destination.html">

Både den serverteknik och den metod som du använder för att hämta informationen styr koden som ska användas för att lagra informationen i en sessionsvariabel. Syntaxen för varje serverteknologi är följande:

ColdFusion

<CFSET session.variable_name = value>
<CFSET session.variable_name = value>
<CFSET session.variable_name = value>

ASP

<% Session("variable_name") = value %>
<% Session("variable_name") = value %>
<% Session("variable_name") = value %>

värde-uttrycket är vanligtvis ett serveruttryck som Request.Form(”efternamn”). Om du exempelvis använder URL-parametern product (eller ett HTML-formulär med GET-metoden och textfältet product) för att samla in information lagrar följande uttryck informationen i sessionsvariabeln prodID:

ColdFusion

<CFSET session.prodID = url.product>
<CFSET session.prodID = url.product>
<CFSET session.prodID = url.product>

ASP

<% Session("prodID") = Request.QueryString("product") %>
<% Session("prodID") = Request.QueryString("product") %>
<% Session("prodID") = Request.QueryString("product") %>

Om du använder ett HTML-formulär och post-metoden samt textfältet txtProduct för att skaffa fram informationen, lagrar följande uttryck informationen i sessionsvariabeln:

ColdFusion

<CFSET session.prodID = form.txtProduct>
<CFSET session.prodID = form.txtProduct>
<CFSET session.prodID = form.txtProduct>

ASP

<% Session("prodID") = Request.Form("txtProduct") %>
<% Session("prodID") = Request.Form("txtProduct") %>
<% Session("prodID") = Request.Form("txtProduct") %>

Exempel på information lagrad i sessionsvariabler

Du arbetar med en webbplats som har många äldre användare. I Dreamweaver kan du lägga till två länkar på välkomstskärmen som gör att användaren kan anpassa storleken på webbplatsens text. För större text som är enklare att läsa klickar användaren på en länk, och för text med normal storlek klickar användaren på en annan länk.

Information lagrad i sessionsvariabler

Varje länk har en URL-parameter som heter fontsize och som skickar användarens textinställning till servern, som i följande Adobe ColdFusion®-exempel:

<a href="resort.cfm?fontsize=large">Larger Text</a><br>
<a href="resort.cfm?fontsize=small">Normal Text</a>
<a href="resort.cfm?fontsize=large">Larger Text</a><br> <a href="resort.cfm?fontsize=small">Normal Text</a>
<a href="resort.cfm?fontsize=large">Larger Text</a><br> 
<a href="resort.cfm?fontsize=small">Normal Text</a>

Lagra användarens textinställningar i en sessionsvariabel och använd den för att ställa in textstorleken på varje sida som användaren begär.

Långt upp på målsidan anger du följande kod för att skapa sessionen font_pref, som lagrar användarens inställning för teckenstorlek.

ColdFusion

<CFSET session.font_pref = url.fontsize>
<CFSET session.font_pref = url.fontsize>
<CFSET session.font_pref = url.fontsize>

ASP

<% Session("font_pref") = Request.QueryString("fontsize") %>
<% Session("font_pref") = Request.QueryString("fontsize") %>
<% Session("font_pref") = Request.QueryString("fontsize") %>

När användaren klickar på hypertextlänken, skickas textinställningarna i en URL-parameter till målsidan. Med koden på målsidan sparas URL-parametern i sessionsvariabeln font_pref. Så länge som användarsessionen är giltig hämtar alla sidor i programmet det här värdet och visar den valda textstorleken.

Programvariabler för ASP och ColdFusion

I ASP och ColdFusion kan du använda programvariabler för att lagra och visa information som bevaras under hela programmets livstid och kvarstår från användare till användare. Programmets livstid räknas från det den första användaren begär en sida i programmet tills den tidpunkt då webbservern stoppas. (Ett program definieras som alla filer i en virtuell katalog och dess underkataloger.)

Eftersom programvariabler räcker hela programmets livstid, och bevaras från användare till användare, är de idealiska för att lagra information som måste finnas för alla användare, till exempel tid och datum. Värdet på programvariabeln definieras i programmets kod.

ASP-servervariabler

Du kan definiera följande ASP-servervariabler som källor för dynamiskt innehåll: Request.Cookie, Request.QueryString, Request.Form, Request.ServerVariables och Request.ClientCertificates.

ColdFusion-servervariabler

Du kan definiera följande ColdFusion-servervariabler:

Klientvariabler

Kopplar ihop data med en viss klient. Klientvariabler bevarar programmets tillstånd medan användaren flyttar mellan sidorna i programmet och mellan sessionerna. ”Bevara tillstånd” betyder att information bevaras från en sida (eller session) till nästa, så att programmet kommer ihåg användaren och användarens föregående val och inställningar.

Cookie-variabler

Ger tillgång till cookies som har skickats till servern av webbläsaren.

CGI-variabler

Tillhandahåller information om servern som kör ColdFusion, webbläsaren som begär en sida och annan information om bearbetningsmiljön.

Servervariabler

Kan nås av alla klienter och program på servern. De bevaras tills servern stoppas.

Lokala variabler

Skapat med CFSET- eller CFPARAM-taggen på en ColdFusion-sida.

Få hjälp snabbare och enklare

Ny användare?