Podręcznik użytkownika Anuluj

Omówienie źródeł zawartości dynamicznej

 

 

Uwaga:

Interfejs użytkownika w programie Dreamweaver i nowszych wersjach został uproszczony. Dlatego począwszy od wersji Dreamweaver niektóre opcje opisane w tym artykule mogą nie być dostępne. Więcej informacji zawiera ten artykuł.

Informacje o źródłach zawartości dynamicznej

Źródło zawartości dynamicznej jest magazynem informacji. Można je z niego pobierać, aby wyświetlić dynamiczną zawartość na stronie internetowej. Źródła zawartości dynamicznej to nie tylko informacje przechowywane w bazach danych, lecz także wartości wysyłane przez formularze HTML, wartości zawarte w obiektach serwerowych oraz inne źródła.

Program Dreamweaver umożliwia połączenie się z bazą danych i utworzenie zestawu rekordów, z którego będzie pobierana dynamiczna zawartość. Zestaw rekordów to wynik zapytania wysłanego do bazy danych. Zestaw rekordów pobiera informacje, których zażądasz i umożliwia wyświetlanie ich na wskazanej stronie. Zestaw rekordów definiowany jest na podstawie informacji zawartych w bazie danych oraz zawartości, którą chcesz wyświetlić.

Różni producenci rozwiązań technologicznych używają różnego nazewnictwa zestawu rekordów. W technologiach ASP i ColdFusion zestaw rekordów definiuje się jako zapytanie. Jeżeli używasz innych źródeł danych, np. informacji wprowadzanych przez użytkownika albo zmiennych serwerowych, nazwa źródła danych zdefiniowanego w programie Dreamweaver jest taka sama, jak nazwa tego źródła danych.

Dynamiczne serwisy WWW muszą mieć źródło danych, z którego będą mogły pobierać zawartość dynamiczną do wyświetlenia. Program Dreamweaver umożliwia używanie baz danych, zmiennych żądania, zmiennych URL, zmiennych serwerowych, zmiennych formularzy, procedur składowanych i innych źródeł zawartości dynamicznej. W zależności od źródła danych można pobierać nową zawartość zgodnie z wysłanym żądaniem albo modyfikować stronę zgodnie z potrzebami użytkowników.

Każde źródło zawartości zdefiniowane w programie Dreamweaver jest dodawane do listy źródeł zawartości w panelu Wiązania. Potem można wstawić to źródło zawartości do zaznaczonej w danym momencie strony.

Informacje o zestawach rekordów

Strony internetowe nie mogą bezpośrednio uzyskać dostępu do danych przechowywanych w bazie danych. Zamiast tego współdziałają z zestawem rekordów. Zestaw rekordów to podzbiór informacji (rekordów) pobrany z bazy danych za pomocą zapytania bazy danych. Zapytanie jest to instrukcja wyszukiwania pozwalająca wyszukać określone informacje w bazie danych.

Jeżeli źródłem zawartości dynamicznej strony internetowej jest baza danych, to należy najpierw utworzyć zestaw rekordów, w którym będą przechowywane pobrane dane. Zestawy rekordów pośredniczą między bazą danych zawartości strony a serwerem aplikacji, który generuje stronę. W celu przyspieszenia operacji pobierania danych zestawy rekordów są zapisywane tymczasowo w pamięci serwera aplikacji. Gdy zestaw rekordów jest już niepotrzebny, serwer go usuwa.

Zapytanie może tworzyć zestaw rekordów zawierający wybrane kolumny, tylko wybrane rekordy, lub kombinację obu wymienionych elementów. Zestaw rekordów może również zawierać wszystkie rekordy i kolumny tabeli bazy danych. Jednakże ponieważ aplikacje rzadko potrzebują wszystkich danych z bazy danych, należy dążyć do tego, aby zestawy rekordów były możliwe najmniejsze. Ponieważ serwery WWW tymczasowo przechowują zestawy rekordów w pamięci, użycie małych zestawów rekordów zużywa mniej pamięci i potencjalnie może poprawić wydajność serwera.

Zapytania do baz danych są redagowane w języku SQL (Structured Query Language). Jest to prosty język obejmujący instrukcje do pobierania, usuwania i dodawania danych w bazach danych. Konstruktor SQL dołączony do programu Dreamweaver umożliwia tworzenie prostych zapytań bez znajomości tego języka. Jeśli jednak chcesz tworzyć złożone zapytania SQL, warto poznać podstawy tego języka, co pozwoli na budowanie bardziej zaawansowanych zapytań i umożliwi swobodne projektowanie projektowanie stron dynamicznych.

Zanim zdefiniujesz zestaw danych do użytku w programie Dreamweaver, musisz utworzyć połączenie z bazą danych. Jeżeli nie ma w niej żadnych danych, należy je wprowadzić do bazy. Jeżeli połączenie z bazą danych dla serwisu jeszcze nie istnieje, zapoznaj się z rozdziałem o tworzeniu połączeń z bazą danych dla wybranej technologii serwerowej i wykonaj podane tam instrukcje.

Informacje o parametrach formularzy i adresów URL

Parametry adresu URL przechowują informacje pobrane z danych wprowadzonych przez użytkowników. Aby zdefiniować parametr adresu URL, należy utworzyć formularz lub łącze hipertekstowe, które wysyła dane metodą GET. Informacje te są dołączane do adresu URL żądanej strony i przekazywane do serwera. Gdy używa się zmiennych URL, ciąg zapytania zawiera przynajmniej jedną parę nazwa-wartość. Pary takie są skojarzone z polami formularza. Pary nazwa-wartość są dołączane do adresu URL.

Parametry formularza przechowują pobrane informacje zawarte w żądaniu HTTP przesłanym dla danej strony internetowej. Jeżeli utworzysz formularz używający metody POST, dane wysyłane przez formularz zostaną przekazane serwerowi. Zanim rozpoczniesz pracę pamiętaj o przekazaniu parametru formularza na serwer.

Informacje o zmiennych sesji

Zmienne sesji umożliwiają przechowywanie i wyświetlanie informacji zachowywanych przez czas trwania wizyty użytkownika (czyli sesji). Serwer tworzy różne obiekty sesji dla każdego z użytkowników i zachowuje je przez ustalony czas lub do momentu, gdy obiekt zostanie bezpośrednio zlikwidowany.

Ponieważ zmienne sesji są zachowywane przez cały czas trwania sesji danego użytkownika i zachowują ważność, gdy użytkownik przechodzi między różnymi stronami w serwisie WWW, stanowią idealne narzędzie do przechowywania preferencji użytkownika. Zmienne sesji można również wykorzystać w celu wstawienia wartości do kodu HTML strony, przypisania wartości zmiennej lokalnej albo podania wartości służącej do obliczenia wyrażenia warunkowego.

Zanim zdefiniujesz zmienne sesji dla strony, musisz utworzyć je w kodzie źródłowym. Po utworzeniu zmiennej sesji w kodzie źródłowym aplikacji internetowej można pobrać jej wartość za pomocą programu Dreamweaver i wykorzystać ją na stronie WWW.

Jak funkcjonują zmienne sesji

Zmienne sesji przechowują informacje (zwykle parametry formularza lub adresu URL przesłane przez użytkownika) i udostępniają je wszystkim stronom aplikacji internetowej w trakcie odwiedzin użytkownika. Na przykład gdy użytkownicy logują się do portalu internetowego, który udostępnia konto e-mail, informacje o notowaniach giełdowych, prognozę pogody i wiadomości dnia, aplikacja przechowuje dane o logowaniu w zmiennej sesji, która identyfikuje użytkownika na stronach serwisu. To pozwala użytkownikom oglądanie, w trakcie nawigowania po serwisie, tylko tych typów zawartości, które wybrali. Zmienne sesji mogą również zapewniać mechanizm bezpieczeństwa kończący sesję użytkownika, jeśli konto nie jest używane przez pewien czas. To powoduje również zwolnienie pamięci i zasobów serwera, jeśli użytkownik zapomni wylogować się z serwisu WWW.

Zmienne sesji przechowują informacje na czas trwania używanej sesji. Sesja rozpoczyna się, gdy użytkownik otworzy stronę w aplikacji i kończy, gdy użytkownik nie otworzy innej strony w aplikacji przez pewien czas lub celowo zamknie sesję (zwykle klikając łącze „wyloguj”). Gdy sesja istnieje, jest przypisana do indywidualnego użytkownika, a każdy użytkownik ma własną sesję.

Zmiennych sesji używaj do przechowywania informacji dostępnych dla każdej strony aplikacji internetowej. Mogą to być informacje różnicujące, takie jak nazwa użytkownika, preferowany rozmiar czcionki lub flaga oznaczająca, czy użytkownik się zalogował. Innym typowym zastosowaniem zmiennych sesji jest przechowywanie bieżących rejestrów, takich jak liczba pytań, na które udzielono poprawnej odpowiedzi w quizie online lub produktów wybranych przez użytkownika z katalogu online.

Zmienne sesji mogą działać tylko wtedy, gdy przeglądarka użytkownika akceptuje pliki cookie. Serwer tworzy numer ID sesji, który unikatowo identyfikuje użytkownika, gdy sesja jest inicjalizowana, a następnie przesyła plik cookie zawierający numer ID do przeglądarki użytkownika. Gdy użytkownik żąda innej strony z serwera, serwer odczytuje plik cookie w przeglądarce, aby zidentyfikować użytkownika i pobrać zmienne sesji użytkownika przechowywane w pamięci serwera.

Zbieranie, przechowywanie i pobieranie informacji ze zmiennych sesji

Przed utworzeniem zmiennej sesji najpierw należy uzyskać informacje, które mają być przechowywane, a następnie przesłać je na serwer celem przechowania. Informacje możesz pobierać i wysyłać na serwer, używając formularzy HTML lub łączy hipertekstowych zawierających parametry adresu URL. Możesz również uzyskać informacje z plików cookie przechowywanych na komputerze użytkownika, z nagłówków HTTP wysyłanych przez przeglądarkę użytkownika z żądaniem strony, lub z bazy danych.

Typowym przykładem przechowywania parametrów adresu URL w zmiennych sesji jest katalog produktów, w którym używane są zapisane na stałe w kodzie parametry adresu URL utworzone przez łącze, aby przesłać z powrotem na serwer informacje o produkcie do przechowania w zmiennej sesji. Gdy użytkownik kliknie łącze „Dodaj do koszyka”, to ID produktu zostanie przechowane w zmiennej sesji podczas kontynuowania przez użytkownika zakupów. Gdy użytkownik przechodzi do strony płacenia, ID produktu przechowywane w sesji jest odzyskiwane.

Formularz ankiety jest typowym przykładem strony, która przechowuje parametry formularza w zmiennych sesji. Formularz przesyła wybrane informacje z powrotem na serwer, gdzie strona aplikacji zbiera dane ankiety i przechowuje odpowiedzi w zmiennej sesji, aby przesłać je do aplikacji, która może rejestrować zebrane od uczestników ankiety odpowiedzi. Informacje mogą być również przechowane w bazie danych do późniejszego użycia.

Po przesłaniu informacji na serwer informacja jest przechowywana w zmiennych sesji przez dodanie właściwego dla modelu serwera kodu do strony, określonego przez parametr adresu URL lub formularza. Strona, do której odniesienia są jak do strony docelowej, określona jest albo w atrybucie action formularza HTML albo w atrybucie href hiperłącza na stronie startowej.

Gdy wartość zostanie zapisana w zmiennej sesji, można będzie ją pobierać z tej zmiennej za pomocą programu Dreamweaver i wykorzystać w aplikacji internetowej. Po zdefiniowaniu zmiennej sesji w programie Dreamweaver można wstawić jej wartość na stronie.

Składnia HTML dla każdej z nich jest następująca:

<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">

Zarówno zastosowana technologia serwerowa, jak i metoda pobrania informacji określają kod użyty do przechowania informacji w zmiennej sesji. Podstawowa składnia dla poszczególnych technologii serwerowych jest następująca:

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 %>

Wyrażenie value jest zwykle wyrażeniem serwerowym, takim jak Request.Form(“lastname”). Na przykład jeśli użyjesz parametru adresu URL o nazwie product (lub formularza HTML z metodą GET i pola tekstowego o nazwie product) do pobrania informacji, to następujące wyrażenia będą służyły do przechowania informacji w zmiennej sesji o nazwie 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") %>

Jeśli informacje są gromadzone za pomocą formularza HTML z metodą post i pola tekstowego o nazwie txtProduct, to aby zapisać je w zmiennej sesji, należy użyć następujących instrukcji:

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") %>

Przykład przechowywania informacji w zmiennych sesji

Pracujesz nad serwisem, którego odbiorcami są w większości seniorzy. W programie Dreamweaver dodaj dwa łącza na ekranie powitalnym, które pozwolą użytkownikom wybrać rozmiar tekstu w serwisie. Użytkownik może kliknąć jedno z łączy, aby wybrać większy, czytelny tekst, albo drugie łącze, aby wyświetlić tekst w zwykłym rozmiarze.

Przechowywanie informacji w zmiennych sesji

Każde z łączy zawiera parametr adresu URL o nazwie fontsize, który odpowiada za wysyłanie tekstu w preferowanym przez użytkownika rozmiarze. Obrazuje to poniższy przykład kodu Adobe ColdFusion®:

<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>

Preferowany przez użytkownika rozmiar tekstu przechowaj w zmiennej sesji i użyj jej do ustawienia rozmiaru tekstu na każdej stronie żądanej przez użytkownika.

Blisko góry strony docelowej wprowadź następujący kod tworzący zmienną sesji o nazwie font_pref, która przechowa preferowany przez użytkownika rozmiar czcionki.

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") %>

Gdy użytkownik kliknie hiperłącze, bieżąca strona wyśle preferowany przez użytkownika rozmiar tekstu w parametrze adresu URL do strony docelowej. Kod strony docelowej przechowa parametr adresu URL w zmiennej sesji font_pref. W trakcie trwania sesji użytkownika wszystkie strony aplikacji pobiorą tę wartość i wyświetlą wybrany rozmiar czcionki.

Zmienne aplikacji ASP i ColdFusion

W technologiach ASP i ColdFusion można korzystać ze zmiennych aplikacji, przeznaczonych do przechowywania i wyświetlania informacji. Takie informacje są zachowywane przez cały okres istnienia danej aplikacji i obowiązują dla różnych użytkowników. Czas istnienia aplikacji to okres od chwili, gdy pierwszy użytkownik wyśle żądanie strony do tej aplikacji, do chwili, gdy zatrzymany zostanie serwer WWW. (Aplikację definiuje się jako wszystkie pliki w katalogu wirtualnym i jego podkatalogach).

Ponieważ zmienna aplikacji zachowuje trwałość przez cały czas istnienia aplikacji, a także po zmianie użytkownika, doskonale nadaje się do przechowywania takich informacji, które muszą istnieć dla wszystkich użytkowników, np. bieżącej godziny i daty. Wartość zmiennej aplikacji definiuje się w kodzie tej aplikacji.

Zmienne serwera ASP

Możesz zdefiniować następujące zmienne serwerowe ASP jako źródła zawartości dynamicznej: Request.Cookie, Request.QueryString, Request.Form, Request.ServerVariables oraz Request.ClientCertificates.

Zmienne serwera ColdFusion

Można definiować następujące zmienne serwera ColdFusion:

Zmienne klienta

Kojarzą dane z konkretnym klientem. Zmienne klienckie zachowują stan aplikacji, gdy użytkownik przechodzi z jednej strony do drugiej w obrębie tej aplikacji, a także zamyka sesję i otwiera nową. „Zachowanie stanu” oznacza przechowywanie informacji z jednej strony (lub sesji) po przejściu do kolejnej. Dzięki temu aplikacja „pamięta” użytkownika oraz jego wcześniejsze wybory i preferencje.

Zmienne cookie

Zapewniają dostęp do plików cookie przekazanych serwerowi przez przeglądarkę.

Zmienne CGI

Zapewniają informacje o serwerze, na którym działa ColdFusion, przeglądarce, która wysłała żądanie strony, oraz inne informacje o środowisku przetwarzania.

Zmienne serwera

Są dostępne dla wszystkich klientów i aplikacji na serwerze. Są zachowywane dopóki serwer nie zostanie zatrzymany.

Zmienne lokalne

Są tworzone za pomocą znacznika CFSET lub CFPARAM na stronie ColdFusion.

Pomoc dostępna szybciej i łatwiej

Nowy użytkownik?