Trubar
Programi CGI
[
Kazalo ||
Naprej ||
Nazaj
]
Programi CGI so posebni programi, ki jih namestimo na omrežni
strežnik. Največkrat jih uporabljamo za obdelavo podatkov,
vnešenih v pripravljene obrazce, poleg tega pa še za
sprotno sestavljanje raznih poročil, naključne elemente
v dokumentu, ... Klic programa CGI vključimo v dokument HTML tako,
da navedemo njegov naslov v obliki URL kot vrednost določene lastnosti
pri nekaterih značkah. Največkrat ga vključimo pri
naslednjih značkah:
- <form action="URL">...</form>
- <a href="URL">...</a>
- <img src="URL">
- ...
Naslov programa v obliki URL zapišemo takole:
[http://[:]/][]
Oglati oklepaji [...] v zgornjem zapisu označujejo
neobvezen del naslova URL, ki ga lahko izpustimo, kadar je to mogoče.
Komponente v oklepajih <...> pa imajo naslednji pomen:
- <host> - ime omrežnega strežnika
- <port> - številka komunikacijskih vrat
- <pot> - področje na strežniku
- <program> - ime programa CGI (skupaj s končnico)
- <parametri> - klicni parametri
Malo podrobneje je treba še opisati, na kakšen način
podajamo parametre pri klicu programa. Večina parametrov je
običajnih, ki jih je navedemo tako, da za imenom programa
napišemo znak ? (vprašaj), nato pa
naštejemo vse parametre, med seboj pa jih ločimo z znakom
&. Poleg teh pa lahko uporabimo še poseben
sistemski parameter, ki ga navedemo takoj za imenom programa
(pred vprašajem). Ime programa in sistemski parameter med seboj
ločimo z znakom /. Splošna shema
podajanja parametrov je torej takšna:
[/parameter0]?[parameter1[¶meter2[&...[¶metern]]]]
Omeniti je še treba, da v parametrih ne smemo uporabljati
nobenih posebnih znakov, kot so +, &,
?, =, %,
/, tabulator, presledek, znak za novo vrsto, ...
Če jih vseeno potrebujemo, jih moramo zakodirati. Namesto
posebnega znaka napišemo znak % (procent),
ki mu sledita dva znaka s šestnajstiško kodo posebnega
znaka. Namesto presledka lahko pišemo kar znak +
(plus). Primer: Vrednost "10 %" bi v URL naslovu
zapisali kot "10+%25" (25 je šestnajstiška
koda znaka %).
Tako zakodirane parametre najde program v sistemskih spremenljivkah,
in sicer:
- PATH_INFO = /parameter0
- QUERY_STRING = parameter1¶meter2&...¶metern
[
Kazalo ||
Naprej ||
Nazaj ||
Na začetek
]
Če bomo programe CGI uporabljali skupaj z obrazci, moramo
vedeti še nekaj stvari. Program CGI, ki ga uporabimo za
akcijo obrazca, dobi poleg klicnih parametrov še vse podatke,
ki jih vpišemo v obrazec. Te podatke dobi zapisane v obliki,
ki jo uporabljamo za podajanje parametrov, le da ima v tem primeru
vsak podatek še svoje ime. Tako dobimo naslednjo shemo:
ime1=vrednost1&ime2=vrednost2&...&imen=vrednostn
Tudi ti podatki so zakodirani na isti način kot klicni parametri.
Kje jih bo program našel, pa je odvisno od vrednosti
lastnosti method značke form.
Ta lastnost ima dve možni vrednosti:
- <form method=post action="URL">...</form>
- <form method=get action="URL">...</form>
V prvem primeru (method=post) program podatke iz obrazca
najde na standardnem vhodu, v drugem primeru (method=get)
pa v sistemski spremenljivki z imenom QUERY_STRING. Pri
tem povozi klicne parametre, tako da v načinu get
klicnih parametrov ne moremo uporabljati.
[
Kazalo ||
Naprej ||
Nazaj ||
Na začetek
]