ABC skryptów CGI

Wstecz Dalej

Zmienne środowiskowe jeszcze raz

We wstawkach SSI (a także wszelkich uruchamianych przez nie skryptach) można korzystać z szeregu zmiennych środowiskowych zawierających informacje przekazywane przez serwer. Poza zestawem zmiennych charakterystycznych dla skryptów CGI (tabela 2) dostępne są także dodatkowe zmienne, opisane w tabeli 4. Jedna z nich - DATE_LOCAL - umożliwia wypisanie aktualnej daty i czasu. Możemy zatem uzyskać efekt nieco podobny do poprzedniego z użyciem jedynie wbudowanych możliwości wstawek SSI, bez potrzeby odwoływania się do dodatkowego skryptu:

     <html>
     <head><title>Moja strona</title>
     <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
     </head>
     <body>
     <h1 align="center">Witam Cię na mojej stronie!</h1>
     <!--#config timefmt="%d.%m.%Y, godzina %T" -->
     <b>Dzisiaj jest <!--#echo var="DATE_LOCAL" -->.</b><p>
     ....
     .... (dalsza część strony)
     ....
Polecenie #config ustala postać wypisywanej daty na np. "24.08.2000, godzina 17:03:24" (por. tabela 3), zaś polecenie #echo - wypisuje w tym formacie wartość zmiennej DATE_LOCAL.

Dodatkowo możemy na końcu strony umieścić wstawkę automatycznie podającą datę jej ostatniej modyfikacji, korzystając ze zmiennej LAST_MODIFIED:

     ....
     .... (początkowa część strony)
     ....
     <!--#config timefmt="%d.%m.%Y" -->
     Ostatnia modyfikacja: <!--#echo var="LAST_MODIFIED" --><p>
     </body>
     </html>
Efekt wygląda jak na rys.6. Jak widać, efekt nie jest jednak całkiem zgodny z uzyskanym przy użyciu skryptu zegar.cgi: musieliśmy zrezygnować ze słownego wypisywania nazw miesięcy i dni tygodnia, gdyż nazwy te udostępniane są przez system w języku odpowiadającym wersji językowej systemu operacyjnego na serwerze, czyli zazwyczaj angielskim.

Podobnie jak bezpośrednio w wywołaniach skryptów CGI, także i odwołując się do stron ze wstawkami SSI można w URL-u umieszczać parametry. Obsługiwane są obydwa sposoby przekazywania parametrów opisywane w rozdziałach "Wywoływanie skryptów z parametrami" (czyli po znaku "?") oraz "Jeszcze więcej parametrów" (czyli w postaci dodatkowej "ścieżki dostępu"). Podane parametry dostępne są jako wartości zmiennych QUERY_STRING i PATH_INFO i mogą zostać użyte np. do określania wartości we wstawkach. Przykładowo, jeżeli strona o adresie http://www.serwer.com/strona.shtml zawiera wstawkę:

     <!--#include virtual="$QUERY_STRING" -->
wówczas odwołanie się do tej strony poprzez adres

     http://www.serwer.com/strona.shtml?dane.txt
spowoduje zinterpretowanie tej wstawki jako

     <!--#include virtual="dane.txt" -->
czyli wstawienie w miejscu jej wystąpienia zawartości pliku o nazwie podanej jako parametr - dane.txt. W ten sposób w dużych serwisach WWW można budować stały "szkielet" strony, który wypełniany będzie różną treścią.

Wartości zmiennych QUERY_STRING i PATH_INFO są również przekazywane wszystkim skryptom wywoływanym ze strony przy użyciu polecenia #exec cgi=, tak jakby wystąpiły bezpośrednio w wywołaniu skryptu. Inaczej jest natomiast w przypadku skryptów wywołanych za pomocą #include virtual=; w tym wypadku wartość zmiennej QUERY_STRING nie jest przekazywana do skryptu. Przekazywana jest natomiast wartość zmiennej PATH_INFO, o ile nie została ona "przykryta" przez inną wartość podaną w wywołaniu skryptu.


Wstecz Dalej

Jarosław Rafa 2000. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 11.10.2000.


Powrót do spisu treści Statystyka