html dersleri
 
HTML
.
Home
.
Temel HTML
.
Texts
.
Links
.
Images
.
Lists
.
Tables
.
Color
.
Frames
.
iFrames
.
Image Maps
.
Forms
.
 
Programlama Dilleri
.
nnn
.
Algoritmalar
.
C
.
C++
.
C#
.
Java
.
Ruby
.
 
© Teknoloji Tanıtım Merkezi etudio@etudio.biz
http://etudio.biz

Web Sayfasında Form Yaratma

İçindekiler
* Form Nedir? * Radio Buttons * Gönder Düğmesine Resim Koyma
* Form Yaratma * Checkbox * Saklı Form Öğeleri
* Form Gönder * Textarea * Karma Öğeli Formlar
* Basit Formlar * Pop Up List * Sunucuda Image Map
* Reset * Select_Option * İstemcide Image Map
* Password * Image Map * Dosya Gönderme
* Mail * Range Fields * Escape Kodları

 

Index Form Nedir?

Etkileşimli Web sayfaları hazırlamanın yolu FORM kullanmaktan geçer. Web'in en kullanışlı niteliği ve belki de, internet üzerindeki öteki servislere göre daha yaygın olmasının nedeni formlardır.

e-bankacılık, e-sigortacılık, e-ticaret, e-eğitim,... gibi etkileşimli (interactive) her işte form kullanılır.

Formlar, kullanıcıdan veri (bilgi) almak için düzenlenir. Kullanıcının girdiği bilgiler sunucu makinada belirlenen bir dosyaya yazılır. Burada biriken verilerin işlenmesi gerekiyorsa, o işi yapacak bir programın ayrıca yazılması gerekir. HTML yalnızca, kullanıcının forma yazdığı verileri kaydeder; onları bir programlama dilinin yaptığı gibi işleyemez.

Kullanıcının form aracılığı ile sunucuya gönderdiği verileri işleyen programlar uygun bir programlama diliyle yazılabilir.

Bu dersin kapsamı dışında olduğu için o konuya girmeyeceğiz. Ama bu işi yapan programa CGI (Common Gate Interface) Script diyeceğiz.

Form < FORM > ... < /FORM > arasına yazılan objelerden oluşur. Bu objeler text, image, liste, tablo, giriş alanları (input fields), 'hypertext link' vb olabilir.

Örnek:
Aşağıda Posta Kodu'nu derleyen bir form parçası görülmektedir.


Posta Kodu :

Bu formun HTML kodları şöyledir:

< FORM ACTION="http://angora.baskent.edu.tr/../cgi-bin/kodyaz" METHOD=get >
Posta Kodu : < INPUT TYPE=text NAME="pkodu" SIZE="6" >
Posta Kodu : < INPUT TYPE=submit >
<INPUT TYPE=reset >
</FORM>

Bu kodların anlamını satır satır açıklayalım:

<FORM ACTION="http://angora.baskent.edu.tr/../cgi-bin/kodyaz">
nitelemesi, belirtilen URL adresindeki "kodyaz" programını(CGI script) çalıştırır.
<INPUT TYPE=text NAME="pkodu" SIZE="6">
nitelemesi "pkodu" adıyla bir değişken (veri alanı) açar; veri alanı TEXT tipindedir ve 6 karakter uzunluğundadır. Bu veri alanının solundaki "Posta Kodu" kullanıcıya veri alanına girilecek verinin ne olduğunu bildirmek için konulan bir yaftadır. Sunucuya gitmez.
<INPUT TYPE=submit>
nitelemesi, forma yazılan verilerin sunucuya yollanmasını sağlar.
<INPUT TYPE=reset>
nitelemesi, formun ilk konumuna (silbaştan) dönmesini sağlar.
Sorguyu Gönder (Submit)
Kullanıcı formu doldurup bu düğmeye basınca, veri sunucuya gider.
Sıfırla (Reset)
Bu düğme forma yazılan verileri sıfırlar, formu ilk konumuna dödürür. Dolayısıyla, Submit düğmesinden önce Reset düğmesine basılırsa girilen veriler sunucuya gitmeden silinir. Submit düğmesine basıldıktan sonra Reset düğmesine basılırsa form sıfırlanır, ama girilen veriler sunucuya gitmiş olur.

Formun Başlıca Öğeleri

Submit (Gönder-Send)

Bir INPUT tipidir. Bir forma girilen verileri ACTION ile belirtilen URL adresine gönderir. INPUT damgasında TYPE=submit nitelemesi yapılır. Örneğin,

<input type="submit">

kodlarının vereceği görüntü şöyle olur:

Türkçe MSIE5 tarayıcısı submit düğmesi üzerine Sorguyu Gönder yaftasını koyar. Başka tarayıcılar bu anlama gelen başka yaftalar koyar. Dilerseniz, bu yaftayı değiştirebilirsiniz. Yaftayı değiştirmek için, INPUT damgasında VALUE="yeni_yafta" nitelemesi yapılır. Örneğin,

<input type="submit" VALUE="Gönder">

kodlarının vereceği görüntü şöyle olur:

Bazı durumlarda, farklı seçeneklerden birisini göndermek gerekebilir. Bunun için, farklı submit'leri farklı NAME ile adlandırmak ve VALUE yaftalarını kullanıcının farkı kolay kavrayacağı biçime çevirmek gerekir.

Örnek:

Varsayalım ki e-ticaret yapan bir firma ürünleri için web sayfasında sipariş etme ya da ürün hakkında bilgi isteme seçeneklerini sunmaktadır. Kullanıcı ürünü biliyor ve almaya kararlı ise sipariş verecektir. Ürünü bilmiyorsa, bilgi isteyecektir. Bunun için, aşağıdaki gibi iki submit tipi düzenlenebilir.

<input type="submit" NAME="sip" VALUE="Siparişi Gönder">
<input type="submit" NAME="bil" VALUE="Bilgi İste">

kodları aşağıdaki görüntüyü verir:


Farklı submit düğmeleriyle gönderilen mesajların farklı işlenmesi gerekir. Bunu yapmak CGI scriptinin işidir.

Gönder Düğmesine Resim Koyma

İsterseniz submit düğmesine VALUE ile yafta koymak yerine, gönderilecek yeri belirten uygun bir resim (image) koyabilirsiniz. Bunu yapmak için INPUT damgasında SRC="resim.gif" nitelemesini yapmak yeterlidir.

Örnek:

URL adresi "./images/home.gif" olan bir resmi submit düğmesi yerine koymak için,

<input type="submit" SRC="./images/home.gif" ALIGN=left>

ya da

<input type="image" SRC="./images/home.gif" ALIGN=left>

kodlarından birisini yazmak yetecektir. Çünkü, bazı tarayıcılar TYPE=submit nitelemesini, bazıları ise TYPE=image nitelemesini gerektirir. Bu kodlar submit düğmesi yerine aşağıdaki gibi bir görüntü verir. Tabii görüntü konulan resme bağlıdır.





Reset (Silbaştan-Sıfırla)

Bir INPUT tipidir. Bir forma girilen verileri siler ve formu default haline koyar. INPUT damgasında TYPE=reset nitelemesi yapılır. Örneğin,

<INPUT TYPE="reset">

kodlarının vereceği görüntü şöyle olur:

Türkçe MSIE5 tarayıcısı reset düğmesi üzerine Sıfırla yaftasını koyar. Başka tarayıcılar bu anlama gelen başka yaftalar koyar. Dilerseniz, bu yaftayı değiştirebilirsiniz. Yaftayı değiştirmek için, INPUT damgasında VALUE="yeni_yafta" nitelemesi yapılır. Örneğin,

<INPUT TYPE="reset" VALUE="Silbaştan">

kodlarının vereceği görüntü şöyle olur:

Uyarı:
Gönder düğmesine önce, reset düğmesine sonra basılırsa, forma girilen veriler ACTION ile belirtilen URL adresine yollanmış olur; form sonra sıfırlanır.
Gönder düğmesine basılmadan önce reset düğmesine basılırsa, forma girilen veriler önce silinir, URL adresine boş form (ya da, varsa, default veriler) gider.
Boş formu geri çevirip çevirmemek CGI scriptinin nasıl yazıldığına bağlıdır.

 

Index Dosya Gönderme (File Attachments)

Form ile birlikte bir dosya göndermek için INPUT damgasında TYPE=file nitelemesi yapılır. Örneğin,

<INPUT TYPE=file ACCEPT="/etudio/*">

kodlarının vereceği görüntü şöyle olur:

Gözat düğmesine tıklayınca, dosyayı seçmeyi sağlayan bir pencere gelir. Seçilip tıklanan dosya INPUT veri alanına girer. Bunu içeren form göderildiğinde, eklenen dosya da ACTION nitelemesinde belirlenen aynı URL adresine gider.gider.

Örnek:

Görüntü HTML Kodları
Gönderilecek Dosya_Adı:


<FORM ENCTYPE="multipart/form-data"
      ACTION="URL"
      METHOD=POST>
Gönderilecek Dosya_Adı:<BR>
  <INPUT NAME="message"
         TYPE="file"> <BR> <BR>
  <INPUT TYPE="submit"
         VALUE="Dosyayı URL ye Gönder">
</FORM>
 

Scribble

Karalama (Scribble on image)

Kullanıcının fareyle karalama yapabileceği bir INPUT türüdür. INPUT damgasında TYPE=scribble nitelemesi yapılır. Örneğin,

<INPUT TYPE=scribble VALUE="Taslağınızı çiziniz" SRC="taslak.gif">

kodlarının vereceği görüntü şöyle olur:

Bu nitelemeyi desteklemeyen sistemler, yalnızca VALUE nun değerini text olarak gösterir.

Oransal Veri Alanları (Range Fields)

Bazı hallerde, kullanıcıdan, sıralanan seçeneklerden birisini seçmesini istemek yerine, belirlenecek MIN...MAX değerler arasında bir değer seçmesi istenebilir. Bu durumda, INPUT damgasında TYPE=range nitelemesi yapılır. Örneğin,

0<INPUT type=range name="oranla" MIN=0 MAX=100 VALUE=25 STEP=5>100

kodlarının vereceği görüntü şöyle olur.

0100
Açıklamalar
Range
Bir INPUT tipidir.
MIN, MAX
Seçimin yapılacağı aralığın en küçük ve en büyük değerleri. Örnekte [0...100] aralığı seçilmiştir.
VALUE
Ön-değer. Kullanıcı yeni seçim yapınca ön-değer yok olur. Örnekte ön-değer 25 olarak seçilmiştir.
STEP
Seçimin kaçar kaçar artıp azalacağını belirler. Örnekte step 5 olarak seçilmiştir.

Index Form Yaratma

Bir web sayfası için form yaratmak, kağıt üzerinde form düzenlemeye benzer. Örneğin, Nüfus Cüzdanı Sureti, Vergi Beyannamesi Formu, vb. formlarda istenen bilgiler kolay okunur bir tablo ya da liste halinde düzenlenir. Her bilgi için o bilginin sığacağı küçük kutucuklar yapılır. Hangi kutucuğa ne yazılacağı, kutucuğun yanında belirtilir. Web formları da buna benzer.

Bu derste bu işin nasıl yapıldığını öğreneceğiz.

Sunucu, gelen verileri bir program (CGI Script) aracılığı ile işler. Yukarıda söylendiği gibi, bu programın önceden, kullanıcılardan gelen verileri, öngörüldüğü biçimde işleyecek biçimde hazırlanmış olması gerekir.

CGI Script'in gelen verileri işleyebilmesi için, her bir veriyi ayrı ayrı tanıması gerekir. Bunun için, formdaki her veri alanını bir değişken olarak tanımlarız. Kullanıcının bu veri alanlarına girdiği veriler de bu değişkenlere atanan değerler olacaktır.

Bunun olabilmesi için, her veri alanına bir değişken_adı verilir. Bunu NAME parametresine verilen değerle yaparız. Örneğin, NAME="pkodu" nitelemesi, bu değişkeni (veri alanını) "pkodu" diye adlandırmaktadır.

Kullanıcı bu veri alanına, diyelim ki, 06530 değerini girmişse, CGI script bunu pkodu := 06530 biçiminde algılayacaktır.

Ancak, yukarıda söylediğimiz gibi, bir programlama dilinde yazılan sözkonusu program, bu dersin konusu değildir. O nedenle, onu CGI Script diye adlandırmakla yetiniyoruz.

Form yaratan damganın adı FORM dur. Bir formun öğeleri

<FORM>...</FORM>
teknesi içinde yer alır. İç-içe form olamaz. Ama, bir form içinde liste, tablo, metin, vb. öğeler ile HTML kodları yer alabilir.

<FORM> Damgasının Bazı Parametreleri:

ACTION
ACTION parametresine verilen değer (niteleme), forma yazılan verilerin işlenmek üzere gideceği programdır. Bu programın tam "URL" adresi, yazılmalıdır. Örneğin, ACTION="http://sunucu/../cgi-bin/script_adı"> Ayrıca, sunucudaki bu CGI scripti formla gelen verileri öngörülen biçimde işleyebilmelidir.
CGI (Common Gate Interface) scriptleri (programları) genellikle sunucu makinada cgi-bin adlı dizinde saklanır. Tabii, bu zorunlu değildir ve sistem yöneticisinin tercihine bağlıdır. Ama, genel bir uzlaşmayı sağlamak isteyenler bu kurala uyarlar.
METHOD
Formu yollamak için kullanılan http metodu. GET ve POST değerlerini alabilir. Default değeri GET dir.
ENCTYPE
Şifreleme yöntemini belirler.

 

Index Basit Formlar

Aşağıdaki form kullanıcının adını girebileceği 20 karakter uzunluğunda bir giriş alanı yaratmaktadır. <INPUT> giriş alanını yaratan damgadır.

Görüntü HTML kodları

 <FORM ACTION="URL">
 <INPUT TYPE="text" NAME="ad"
        SIZE=20 VALUE="Adınızı buraya yazınız.">
 </FORM>
 

CGI programını harekete geçirmek için, text alanına adınızı girip ENTER tuşuna basmanız yeterlidir. Formdaki veri alanına girilen ad, CGI scriptine aşağıdaki biçimde gider.

ad=Adınızı+buraya+yazınız

<INPUT> Damgasının Bazı Parametreleri:

TYPE
Veri alanı tipini tanımlar. Text, checkbox, reset, radio, submit, password, image, file, hidden, button, range, scribble gibi değerler alabilir. Default değeri "text" dir. Biraz sonra ayrıntıları açıklanacaktır.
NAME
Veri alanının adı. Programlama dilindeki değişken_adı yerine geçer. CGI scriptine gönderilecek veriyi tutacak değişkenin adıdır. Form yaratıcısı dilediği adı verebilir. Yukarıdaki örnekte NAME="ad" nitelemesi yapılmıştır. Dolayısıyla bu veri alanının adı "ad" olmuştur.
VALUE
Değişkene atanan ön-değer. Kullanıcı bu alana veri girince ön-değer yok olur. Yukarıdaki örnekte VALUE="Adınızı buraya yazınız" nitelemesi yapılmıştır. Ön-değer ataması zorunlu değildir; yani ön-değer konulmayacaksa VALUE parametresi kullanılmaz.
SIZE
Giriş alanının genişliğinin kolon (karakter sayısı) cinsinden ifadesi. Yukarıdaki örnekte SIZE=20 nitelemesi yapılmıştır.
CHECKED
Radio ya da checkbox seçeneğini ön-seçili kılmaya yarar.
DISABLED
Veri alanını kullanıcı girişine kapatır.
SRC
Image belirleyen "%URL" adresini belirler.

 

Escape Kodları

Karakterleri temsil eden farklı kodlama sistemleri vardır. Örneğin, ASCII, Extended ASCII, EBDIC, ISO-8859-1 (Latin-1), Unicode,...vb. Özellikle, klavyede olmayan bazı karakterleri kodlarıyla temsil etmekten başka yol yoktur. Hangi kod sisteminin kullanıldığı konusu işletim sistemine ve programa bağlıdır. Kodları hexadecimal sayı sisteminde yazmak programcılık açısından kolaylıklar sağlar. Web'de bunları kullanmak için, escape kodlarını kullanmak gerekir. HTML de bir karakterin escape kodu %HH biçiminde yazılır. Burada HH karakterin hexadecimal kodudur.
Örnekler:
Karakter Hex ASCII
Boşluk %20 &#32
% %25 &#32
= %3D &#62
@ %40 &#64
Yatay Tab %09 &#09
& %26 &#38
Satır Al (Line Feed) %0A &#10
Satırbaşı (Carriage Return) %0D &#13
©right %A9 &#169

Index Gizli Veri Girişi

Şifre ve benzeri girdilerin gizli kalması istenir. Bu gizliliği TYPE="password" nitelemesiyle yapabiliriz:

Görüntü HTML Kodları
PIN numaranızı giriniz

 <FORM ACTION="URL">
 PIN numaranızı giriniz<BR>
 <INPUT TYPE="password" NAME="Password"
        SIZE=20 VALUE="">
 </FORM>
 

Uyarı: Bu yöntem tam güvenli değildir. Daha güvenli kılmak için, gizli kalması istenen veri önce şifrelenir (encrypted) sonra gönderilir. Ancak bu yöntemde de şifre kırıcıların başarı sağlayabildiğini bilmekte yarar vardır. Bu nedenle, internette güvenlik sorunu ciddi araştırmalara konu olmakta ve değişik yöntemler geliştirilmektedir.

 

Index Karma Öğeli Formlar

Farklı türden öğeler içeren daha karmaşık formlar düzenlemek mümkündür.

TYPE
Veri alanının tipini belirler. <INPUT TYPE= ...> nitelemesinde TYPE parametresi şu değerleri alabilir:
text
<INPUT TYPE=text> nitelemesi, text girişi yapılacak bir veri alanı yaratır. Bu INPUT damgasının default halidir. Dolayısıyla, yukarıdaki kod <INPUT > koduna denktir. "text" tipi en çok 1024 karakter girişine izin verir. Daha çok karakter gerektiren girişler için TEXTAREA damgasını kullanırız. Bunu ileride ele alacağız.
submit
<INPUT TYPE=submit> nitelemesi formu sunucuya yollar.
reset
<INPUT TYPE=reset> nitelemesi formu sıfırlar.
radio
<INPUT TYPE=radio> nitelemesi radyo düğmesi gibi giriş alanı yaratır. Bunu biraz sonra ayrıntılarıyla inceleyeceğiz.
checkbox
<INPUT TYPE=checkbox> nitelemesi işaret kutucuğu gibi giriş alanı yaratır. Bunu da biraz sonra ayrıntılarıyla inceleyeceğiz.
Örnek:

<INPUT TYPE="submit" NAME="button" VALUE="Send">

Bu niteleme giriş türünün "submit" olduğu, değişken adının "button" olduğu ve düğme üzerine "Send" yaftasının konulacağını belirler. "botton" değeri ön-tanımlı bir değerdir ve resimde görüldüğü gibi kabartılı bir düğme yaratır. İsterseniz yafta olarak "Gönder", "Yolla" gibi Türkçe sözcükler koyabilirsiniz. MSIE5 "Sorguyu Gönder" deyimini default değer olarak yazmaktadır. Ama isterseniz VALUE parametresine değer vererek, bu yaftayı değiştirebilirsiniz.

Bir form birden çok "submit" düğme içerebilir:

Örnek:

Görüntü HTML Kodları

 <FORM ACTION="URL">
 <INPUT TYPE="submit" NAME="button" VALUE=" A ">
 <INPUT TYPE="submit" NAME="button" VALUE=" B ">
 </FORM>
 

Bu düğmelerden birisine basılınca onunla ilgili veri gider. Örneğin, "A" düğmesine basılınca, CGI scriptine

button=+A+

yollanır.

 

Index TEXTAREA (Çok Satırlı Text Girişi)

INPUT damgası içindeki TYPE parametresinin default değerinin "text" olduğunu; yani <INPUT TYPE=text> nitelemesi ile <INPUT> nitelemesinin denk olduğunu söylemiştik. "text" tipi ençok 1024 karakter kabul eder. Bazı durumlarda bu alan yeterli olmayabilir. Bu durumlarda ya da girdinin sınırları belirlenmiş bir girdi alanında yapılmasının istendiği durumlarda, INPUT yerine <TEXTAREA> damgası kullanılır. Kullanıcı girişi bitirince, girdiyi CGI scriptine yollamak için gene <INPUT TYPE="submit"> nitelemesi kullanılır.

Örnek:

Görüntü HTML Kodları


 <FORM ACTION="URL">
 <TEXTAREA NAME="feedback" ROWS=5 COLS=20>
Konuyla ilgili görüşlerim şöyledir:
...
...
 </TEXTAREA>
 <BR>
 <INPUT TYPE="submit" NAME="button"
        VALUE="Send">
 </FORM>
 

Uyarı:
Bu alana kullanıcı birden çok satır girebilir. Girişin bittiği </TEXTAREA> bitiş damgasıyla belirlenir.

<TEXTAREA> damgasının parametreleri:

ROWS=s
Textarea'nın s tane satırdan oluşacağını belirler. Örnekteki ROWS=5 nitelemesi TEXTAREA nın 5 satırdan oluşacağını söyler.
COLS=k
Textarea'nın k tane kolondan (k tane karakter genişliği) oluşacağını belirler. Örnekteki COLS=20 nitelemesi, giriş alanının 20 karakter genişliğinde olacağını söyler.

Örnek:

<TEXTAREA NAME="metin" ROWS=3 COLS=32> Lütfen görüşlerinizi buraya yazınız. </TEXTAREA>

kodu yazıldığında, kullanıcının önüne herbiri 32 karakter alabilen 3 satırlık bir text alanı gelir. Bu alanda Lütfen görüşlerinizi buraya yazınız. mesajı görünür. Ancak, bu yazı alanı 3x32=96 karakterle sınırlı değildir. Kullanıcı istediği uzunlukta bir metin girebilir. Yeni girişler oldukça, pencere kayarak yeni giriş alanı açar. Burada 3 satır ve 32 kolon nitelemesi, yalnızca, formda yazı alanı olarak belirecek pencerenin boyutlarını gösterir. Girilecek metnin uzunluğunu sınırlamaz.

 

Index Radyo Düğmeleri

Çoktan seçmeli bir test sorusunda olduğu gibi, bir konuyla ilgili mümkün seçeneklerden yalnız birisinin seçilmesi isteniyorsa Radyo Düğmeleri kullanılır. Örneğin, kullanıcıların meslekleri hakkında bilgi edinmek istiyorsanız, aşağıdakine benzer bir form yaratabilirsiniz:

Lütfen aşağıdakilerden birisini seçiniz:

<INPUT TYPE=radio NAME=meslek VALUE="egt"> Eğitim
<INPUT TYPE=radio NAME=meslek VALUE="sag"> Sağlık
<INPUT TYPE=radio NAME=meslek VALUE="san"> Sanat
<INPUT TYPE=radio NAME=meslek VALUE="tic" CHECKED> Ticaret
<INPUT TYPE=radio NAME=meslek VALUE="tur" > Turizm

Bunun görüntüsü şöyle olacaktır:

Lütfen aşağıdakilerden birisini seçiniz:

Eğitim
Sağlık
Sanat
Ticaret
Turizm

Açıklamalar:

Örnek:

Görüntü HTML Kodları
Erkek
Kadın

 <FORM ACTION="URL">
 <INPUT TYPE="radio" NAME="cinsiyet" VALUE="M">Erkek<BR>
 <INPUT TYPE="radio" NAME="cinsiyet" VALUE="W">Kadın<BR>
 <INPUT TYPE="submit" NAME="button" VALUE="Send">
 </FORM>
 

Örnek:

Görüntü HTML Kodları
Yaş Grubu
<18
18-65
65+

 <FORM ACTION="URL">
 Yaş grubu<BR>
 <INPUT TYPE="radio" NAME="age" VALUE="a">&lt;18<BR>
 <INPUT TYPE="radio" NAME="age" VALUE="b"
        CHECKED>18-65<BR>
 <INPUT TYPE="radio" NAME="age" VALUE="c">65+<BR>
 <INPUT TYPE="submit" NAME="button" VALUE="Send">
 </FORM>
 

 

Index Seçme Kutuları (Check boxes)

Bazan, birden çok seçeneğin seçilmesi istenebilir. Bu durumda, TYPE değeri olarak radio yerine checkbox kullanılır. Bunun kodları şöyledir:

<INPUT TYPE=checkbox NAME="değişken_adı" CHECKED>

Bir pazarlama şirketi, hangi yerli üretim otomobillerin tercih edildiğini (çok seçenekli olarak) araştıran bir anket formunu aşağıdaki gibi düzenleyebilir:

Aşağıdaki seçeneklerden size uygun olan(lar)ı seçiniz:

<INPUT TYPE=checkbox NAME=marka VALUE="fiat"> Tofaş
<INPUT TYPE=checkbox NAME=marka VALUE="ford" CHECKED> Ford
<INPUT TYPE=checkbox NAME=marka VALUE="hyundai"> Hundai
<INPUT TYPE=checkbox NAME=marka VALUE="opel" CHECKED> Opel
<INPUT TYPE=checkbox NAME=marka VALUE="renault"> Renault

Bunun görüntüsü şöyle olacaktır:





Aşağıdaki seçeneklerden size uygun olan(lar)ı seçiniz:
Tofaş
Ford
Hundai
Opel
Renault


Dikkatle incelenince "radio" tipi ile "checkbox" tipi arasındaki farkı hemen görebiliriz.

Örnek:
Aşağıdaki örnek, kullanıcıların en çok kullandığı programlama dilini belirlemek için düzenlenen bir ankette yer alabilir.

Görüntü HTML Kodları
Program
Ada 95
C++
COBOL
JAVA
PASCAL

 <FORM ACTION="URL">
 Program<BR>
 <INPUT TYPE="checkbox" NAME="prg"
        VALUE="Ada 95" CHECKED>Ada 95<BR>
 <INPUT TYPE="checkbox" NAME="prg"
        VALUE="C++" CHECKED>C++<BR>
 <INPUT TYPE="checkbox" NAME="prg"
        VALUE="COBOL">COBOL<BR>
 <INPUT TYPE="checkbox" NAME="prg"
        VALUE="JAVA" CHECKED>JAVA<BR>
 <INPUT TYPE="checkbox" NAME="prg"
        VALUE="PASCAL">PASCAL<BR>
 <INPUT TYPE="submit" NAME="button"
        VALUE="Send">
 </FORM>
 

 

Index Select [Açılan (Pop-Up) Menü]

Bazan açılan bir menüden seçim yaptırmak isteyebilirsiniz. Bu durumda, SELECT damgası kullanılır. <SELECT>...</SELECT> teknesi içinde verilecek seçenekler OPTION ile belirtilir.

Örnek:

Görüntü HTML Kodları
Kayıt Ortamı


 <FORM ACTION="URL">
Kayıt Ortamı<BR>
 <SELECT NAME="Media">
         <OPTION SELECTED> Disk
         <OPTION> Floppy Disk
         <OPTION> Teyp Şeridi
 </SELECT>
 <BR>
 <INPUT TYPE="submit" NAME="button"
        VALUE="Send">
 </FORM>
 

SELECT
<SELECT> damgasının NAME, SIZE, MULTIPLE, DISABLED, TABINDEX, ONFOCUS, ONBLUR, ONSELECT parametreleri vardır.
OPTION
<SELECT>...</SELECT> teknesi içinde verilecek seçenekler OPTION ile belirtilir.

Menüden Seçim

HTML 3.0 sürümü, Radyo Düğmeleri ve Seçme Kutularını tek bir menüde yaratma olanağı getirmiştir. Bunun için SELECT-OPTION menüsü kullanılır. <SELECT NAME=""> ... </SELECT> teknesi içine yazılan OPTION lar "radio" düğmesi gibi işlev görür; yani OPTION ile belirtilen seçeneklerden yalnızca birisi seçilebilir.

<SELECT MULTIPLE NAME=""> ... </SELECT> teknesi içine yazılan OPTION lar checkbox" kutucuğu gibi işlev görür; yani OPTION ile belirtilen seçeneklerden istenildiği kadarı seçilebilir. Bunların nasıl olduğu aşağıdaki iki örnekten görülebilir.

SELECT ile tek-seçmeli

Görüntü HTML Kodları
<form action="music">
<select name="music">
	<option value="rocknroll">Rock
	<option>Blues
	<option>Folk
	<option>Jazz
	<option>Classic
</select>
</form>

SELECT ile çok-seçmeli

Görüntü HTML Kodları
<form action="music">
<select MULTIPLE name="music">
	<option value="rocknroll">Rock
	<option>Blues
	<option>Folk
	<option>Jazz
	<option>Classic
</select>
</form>

 

Index Silbaştan (Reset)

Örnek:

Görüntü HTML Kodları
Çay mı Kahve mi?
Kahve
Çay


 <FORM ACTION="URL">
 I like to drink:<BR>
 <INPUT TYPE="checkbox" NAME="istek"
        VALUE="kahve" >Kahve<BR>
 <INPUT TYPE="checkbox" NAME="istek"
        VALUE="cay">Çay<BR>
 <INPUT TYPE="submit" NAME="button"
        VALUE="Send">
 <INPUT TYPE="reset" VALUE="Reset"><BR>	
 </FORM>
 

 

Index Gizli Veri Alanı

CGI scripti ile yapılan haberleşme istenirse kaydedilerek kullanılabilir. Örneğin, bir çok evreden oluşan bir oyun bitirilmeden oturuma ara verilip, gelecek oturumda kalındığı yerden devam edilmek isteniyorsa, form içinde gizli bir alan yaratılır. Bu alan, kullanıcının hangi evrede olduğunu kaydeder ve CGI ya bildirir. Yeni oturumda, CGI bu evreyi yeniden başlatır.

Görüntü HTML Kodları
Move

 <FORM ACTION="URL">
 Move<BR>
 <INPUT TYPE="hidden" NAME="game" VALUE="P123456">
 <INPUT TYPE="text" NAME="move" SIZE=2>
 </FORM>
 

 

Index Post

Uyarı:
Bu yalnızca Netscape 2.0 ve üstü tarayıcılarda çalışır.

Örnek:


<FORM METHOD=post ACTION="mailto:e-mail adresiniz" ENCTYPE="text/plain">
nitelemesi, formu belirtilen e-mail adresine yollar.

Örnek:


Görüntü HTML Kodları

 <FORM METHOD=post ACTION="mailto:tkaracay@baskent.edu.tr"
                   ENCTYPE="text/plain">
 <INPUT TYPE="text" NAME="ad"
        SIZE=20 VALUE="Adınızı yazınız">
 


 

Index Imap (Image Transferi -- Image Maps)

Imap (Image Transferi) kavramı, web sayfasında koordinatları önceden belirlenmiş bir bölgeye tıklandığında, ona ilişkilendirilen bir eylemin (ACTION) gerçekleşmesi olayıdır.

Tıklanacak alan bir dikdörtgen, çokgen ya da daire biçiminde olabilir.

Koordinatları belirlenmiş bölgeye, genellikle gerçekleştirilecek eylemin seçimini belirleyen bir nesne konulur. Bu bir düğme, bir dikdörtgen, çokgen, daire ya da resim (image) olabilir. Örneğin, bir müzedeki tabloları açıklayan bir web sayfasında, tabloların minyatür resimleri imap olarak sayfaya konulur. Kullanıcı, dilerse, bu minyatür resme tıkladığında tablo büyük boyutta açılabilir.

Imap eylemi ya sunucu tarafından gerçekleştirilir ya da istemci tarafında tarayıcı (browser) tarafından gerçekleştirilir.

Index Sunucu Tarafından Gerçekleştirilen Imap

Kullanıcı kendi ekranında belirlenmiş bir bölgeye tıklar. Tıklanan bölgenin koordinatlarına bağlı bir mesaj sunucuya gider. Bu mesaj sunucuda bir CGI scriptini çalıştırır. Böylece, belirlenmiş olan eylem gerçekleşir.

Tabii, sunucuda bir CGI scriptinin çalışabilmesi için, söz konusu mesajın bir form aracılığı ile sunucuya iletilmesi gerekir.

Örnek:

Görüntü HTML Kodları

 <FORM ACTION="URL">
 <INPUT NAME="image" TYPE="IMAGE"
        SRC="../images/bulut.jpg" ALIGN=TOP>
 </FORM>
 

 

Index İstemci Tarafından Gerçekleştirilen Imap

Kullanıcı koordinatları belirlenmiş bir bölgeye tıklayınca, tarayıcı, o noktaya ilişkilendirilmiş URL adresine doğrudan istek gönderir. URL adresi istemci tarafından doğrudan seçildiğinden, bu yöntemde işlem daha hızlıdır.

Örnek:

Aşağıdaki örnekte resmin sol üst köşesine tıklandığında istemci tarafından imap gerçekleşir.

Görüntü HTML Kodları
Papatya
   <MAP NAME="Map_1">
   <AREA SHAPE=RECT COORDS = "0,0,50,50"
         HREF="form_01.html#FORM-Check>
   </MAP>
   <IMG SRC="./images/daisies.jpg"
         ALT=Papatya USEMAP=#Map_1>
 

<MAP> damgasının parametreleri:
NAME
Map'in adı. Herhangi bir ad verilebilir. Eylemi çağrıştıran bir ad olması tercih edilmelidir.
<AREA> damgasının parametreleri:
SHAPE
Tıklandığında eylemin gerçekleşmesine neden olan bölgeye duyarlı bölge (hot spot) denilir. SHAPE parametresi duyarlı bölgenin biçimini belirler. SHAPE parametresinin değeri, dikdörtgen (RECT), çokgen (POLYGON) ve daire (CIRCLE) biçimlerinden birisi olarak seçilebilir. Açık değeri (RECT) dir.
COORDS
Duyarlı bölgenin sınırlarını belirler. Seçilen SHAPE değerine göre COORDS'un alacağı değerler şunlardır:
RECT için
Sol üst ve sağ alt köşelerinin koordinatları yazılır: x1,y1,x2,y2
POLYGON için
Çokgenin köşelerinin koordinatları yazılır.
CIRCLE için
Çemberin merkezinin koordinatları ve yarıçapı yazılır: x,y,r
<IMG> Damgasının Parametreleri
SRC
İmage'in URL adresi.
ALT
SRC açılamadığında görüntüye gelmesi istenen alternatif mesaj.
USEMAP
Imap'in adı. Bu addan önce kullanılan # simgesi zorunludur.

 

Index Bir Dosyayı İstemciden Sunucuya Gönderme

Form, kullanıcının istediği bir dosyayı sunucuya göndermesini sağlar.

Örnek:

Görüntü HTML Kodları
Gönderilecek Dosya_Adı:


<FORM ENCTYPE="multipart/form-data"
      ACTION="URL"
      METHOD=POST>
Gönderilecek Dosya_Adı:<BR>
  <INPUT NAME="message"
         TYPE="file"> <BR> <BR>
  <INPUT TYPE="submit"
         VALUE="Dosyayı Sunuya Gönder">
</FORM>
 


Frame desteklemeyen bir tarayıcı kullanıyorsanız bu sayfayı göremeyebilirsiniz. Netscape 2.0 / Internet Explorer 3.0 ve daha sonraki tarayıcılar Frame'i destekler.
 
© ttm etudio@etudio.biz
Teknoloji Tanıtım Merkezi, Ankara, TR