Primoz Trubar

 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:

Naslov programa v obliki URL zapišemo takole: [http://<host>[:<port>]/][<pot>]<program><parametri> 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: 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[&parameter2[&...[&parametern]]]] 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&parameter2&...&parametern


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