CGI Yapısı

Next: Örnek CGI Programı Up: Form Hazırlama (CGI) Previous: Form Hazırlama (CGI)

### CGI Yapısı

En basit haliyle bir CGI programı, standart giriş dosyasına çıktılarını veren herhangi bir program olabilir. Tek farklılık, herhangi bir çıktıdan önce yazmanız gereken iki satır. Bu satırlardan ilki,

    Content-type: text/html

olmalı. İkincisi ise boş bir satır. Aşağıdaki C örneği bu konuda daha açıklayıcı olacaktır. Bundan sonra ekrana yazacağınız herşey web tarayıcısı tarafından HTML ile yazılmış bir doküman olarak değerlendirilecektir.

CGI programları girdilerini HTML formlarından alırlar. HTML formları ayrı bir HTML dosyasında olabilecekleri gibi, bir CGI programının çıktısı olabilirler, hatta aynı program hem formu oluşturup, hem de çıktıyı değerlendirerek gerekli işlemi yapabilir.

Aşağıda örneklerde yardımıyla formların nasıl oluşturulabileceği ve CGI programlarının nasıl yazılacağı konusunda ayrıntılı bilgi bulacaksınız.

Form HTML2.0 standardıyla gelen bir kullanıcı arayüzü. Formlarda bir dizi değişik yöntemle kullanıcıdan girdi alınabilir. Bunları aşağıda maddeler halinde göreceğiz.

Bir html formu <form> ile başlayıp, </form> ile biter. <form> birkaç parametre alır. HTML'de parametreler <form p1=değer1 p2=değer2 p3> şeklinde verilir. Bu örnekte formun p1 ve p2 iki değer alan parametre, p3 adlı değer almayan bir parametresi var. forma verilebilecek ve verilmesi gereken parametreler,

METHOD : Bu parametre, formun ne şekilde hangi html metodu kullanılacağını belirler. POST ya da GET değerini alabilir. POST daha çok karşı tarafta herhangi bir etkisi olan programlar için, GET ise sadece sonuç veren programlar için kullanılır. Ama yaygın işlem her ikisi için de POST kullanmaktır. Biz uygulamamızda her iki durum için de POST kullandık.

ACTION : Bu parametreyle, formun çalıştıracağı CGI programı belirtilir. Verilen CGI programı aynı makinada olabileceği gibi İnternet üzerindeki herhangi bir makinada da olabilir.

ENCTYPE : Form'un sonuçlarının CGI programına ne şekilde gönderileceği bu parametreyle belirtilir. Belirtilmemesi durumunda standart 'application/x-www-form-urlencoded' kullanılır. Bizim önerimiz, bu seçeneğin belirtilmemesi ve standart kullanıma gidilmesi. Bu şekilde programınız hem heryerde çalışır, hem de bu kodlama biçimi için hazır kütüphanelerden yararlanabilirsiniz.

Formun içinde bir dizi değişik girdi tipi tanımlayabilirsiniz. Bunlar <INPUT> ile verilir. INPUT için bir dizi input tipi kullanılabilir. Bu tipleri aşağıdaki gibi sıralayabiliriz:

TEXT : Bu tip tek satırlık metin girdiler için kullanılır, birden fazla satır için <TEXTAREA> kullanmalısınız.

Yukarıda belirtilen her bir INPUT tipi için verebileceğiniz ya da vermeniz gereken bir ya da birkaç parametre vardır. Bu parametrelerin ayrıntılarına burda yer vermiyoruz. Bu ayrıntıları http://www.w3.orgwww.w3.org 'dan ulaşabileceğiniz birçok dokümandan ya da bu dokümanın kaynak kodu dahil olmak üzere İnternet üzerinde bulacağınız birçok formun kaynak kodundan yararlanarak öğrenebilirsiniz.

Next: Örnek CGI Programı Up: Form Hazırlama (CGI) Previous: Form Hazırlama (CGI)