CGI

Wstęp
 
Perl
 
Wady CGI 
 
Interfejs
 
Wysłanie danych
 
Zmienne systemowe

Przetwa-
rzanie danych z formularzy


Odnośniki

  Zmienne systemowe

     Zmienne systemowe zawierają informacje o środowisku, w którym zostaje uruchomiony program CGI. Przed uruchomieniem programu CGI serwer ustawia odpowiednio wartości zmiennych. Informacje zawarte w niektórych zmiennych są bardzo przydatne i możemy je np. zapisywać do pliku.

Zmienna Opis
CONTENT_LENGTH Liczba bajtów danych wysłanych z przeglądarki do aplikacji CGI w metodzie POST (dane te są dostępne na standardowym wejściu)
CONTENT_TYPE Typ danych wysłanych z przeglądarki do aplikacji CGI w metodzie POST
QUERY_STRING Dane wysłane do aplikacji CGI w metodzie GET
HTTP_ACCEPT Typy danych MIME, jakie może przesyłać serwer WWW do/z aplikacji CGI
HTTP_USER_AGENT Nazwa przeglądarki w formacie:
aplikacja/wesja_biblioteki/wersja
GATEWAY_INTERFACE Wersja CGI zainstalowana na serwerze
SCRIPT_NAME Nazwa programu CGI, który jest uruchomiony
REMOTE_ADDR Adres IP (liczby) maszyny, na której użytkownik ogląda strony WWW
REMOTE_HOST Adres (tekstowy) maszyny, na której użytkownik ogląda strony WWW
REMOTE_USER Nazwa użytkownika w systemie, który ogląda strony WWW
REQUEST_METHOD Metoda przesyłania danych przez protokół HTTP: GET lub POST
SERVER_NAME Adres (tekstowy) maszyny, na której jest uruchomiony program CGI
SERVER_SOFTWARE
Nazwa i wersja oprogramowania serwera WWW, na którym jest uruchomiony program CGI
SERVER_PROTOCOL Nazwa i wersja protokołu do przesyłania danych
SERVER_PORT Numer portu, z którego korzysta serwer WWW

     Jeśli chcesz zobaczyć wartość zmiennych na serwerze http://www.invarnet.inwar.com.pl, to
Uruchom skrypt zmienne1.pl (dane typu tekst ASCII)
Uruchom skrypt zmienne2.pl (dane typu HTML)

Kod źródłowy (zmienne1.pl):
#!/usr/bin/perl

print "Content-type: text/plain\n\n";
print "CONTENT_TYPE = $ENV{'CONTENT_TYPE'}\n";
print "CONTENT_LENGTH = $ENV{'CONTENT_LENGTH'}\n";
print "QUERY_STRING = $ENV{'QUERY_STRING'}\n";
print "HTTP_ACCEPT = $ENV{'HTTP_ACCEPT'}\n";
print "
HTTP_USER_AGENT = $ENV{'HTTP_USER_AGENT'}\n";
print "GATEWAY_INTERFACE = $ENV{'GATEWAY_INTERFACE'}\n";
print "SCRIPT_NAME = $ENV{'SCRIPT_NAME'}\n";
print "PATH_INFO = $ENV{'PATH_INFO'}\n";
print "PATH_TRANSLATED = $ENV{'PATH_TRANSLATED'}\n";
print "REMOTE_ADDR = $ENV{'REMOTE_ADDR'}\n";
print "REMOTE_HOST = $ENV{'REMOTE_HOST'}\n";
print "REMOTE_USER = $ENV{'REMOTE_USER'}\n";
print "REQUEST_METHOD = $ENV{'REQUEST_METHOD'}\n";
print "SERVER_NAME = $ENV{'SERVER_NAME'}\n";
print "SERVER_SOFTWARE = $ENV{'SERVER_SOFTWARE'}\n";
print "SERVER_PROTOCOL = $ENV{'SERVER_PROTOCOL'}\n";
print "SERVER_PORT = $ENV{'SERVER_PORT'}\n";

     Wartość zmiennej odczytujemy w Perl-u za pomocą konstrukcji:
$ENV{'<nazwa_zmiennej>'}.


Copyright (C) 1997 by Mariusz Jasiński