BİLİŞİM - BİLGİSAYAR - EĞİTİM
  Form Değerlerini Yakalama
 

Form Değerlerini Yakalama

Bir veritabanından çektiğimiz verilerle, Form etiketi içinde kullanabileceğimiz ve ziyaretçinin ya metin girmesine ya da seçim yapmasına imkan veren kutuları, seçenekleri nasıl doldurabileceğimize ilişkin bir örneği birinci kitapçıkta görmüştük. Burada şimdi bir Form’dan gelen verileri nasıl değişkenlere atayacağımızı ve bunları nasıl kullanacağımızı ele alalım.

Bu amaçla iki sayfa hazırlayacağız: birincisi içinde bir çok tercihler bulunan formlar olan bir HTML dosyası, diğeri ise bu Formun değerlerini alarak, kullanılır hale getirecek bir ASP programı olacak.

Önce FormOrnek.htm adlı şu dosyayı kaydedelim:

<HTML>

<HEAD>

<TITLE>Form Ornegi</TITLE>

<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">

<META http-equiv="Content-Type" content="text/html; charset=windows-1254">

</HEAD>

<BODY>

<H4>Birinci Form</H4>

<FORM ACTION="FormOrnek.asp?HangiForm=1" METHOD="POST">

<INPUT TYPE="Text" NAME="MetinGir" VALUE="Mesajınızı buraya yazınız" SIZE="30" MAXLENGTH="75"><BR>

<INPUT TYPE="Password" NAME="ParolaAlani" SIZE="30" VALUE="parola"><BR>

<TEXTAREA NAME="MetinAlani" COLS="30" ROWS="3" WRAP="VIRTUAL">

Buraya istediğiniz yazıyı yazabilirsiniz...</TEXTAREA><P>

<INPUT TYPE="Submit" VALUE="Gönder">&nbsp;&nbsp;<INPUT TYPE="RESET" VALUE="Sil">

</FORM>

<HR>

<H4>İkinci Form</H4>

<FORM ACTION="FormOrnek.asp?HangiForm=2" METHOD="POST">

<TABLE BORDER = 0><TR><TD><INPUT TYPE="Radio" NAME="Radyo" VALUE="Tercih1" CHECKED>Radyo Düğmesi Tercih 1<BR>

<INPUT TYPE="Radio" NAME="Radyo" VALUE="Tercih2">Radyo Düğmesi Tercih 2<BR>

<INPUT TYPE="Radio" NAME="Radyo" VALUE="Tercih3">Radyo Düğmesi Tercih 3</TD>

<TD width=30>&nbsp;</TD>

<TD><INPUT TYPE="Checkbox" NAME="IsaretKutusu" VALUE="Isaret1">İşaret Kutusu 1<BR>

<INPUT TYPE="Checkbox" NAME="IsaretKutusu" VALUE="Isaret2">İşaret Kutusu 2<BR>

<INPUT TYPE="Checkbox" NAME="IsaretKutusu" VALUE="Isaret3">İşaret Kutusu 3</TD>

</TR></TABLE><BR>

<INPUT TYPE="Submit" VALUE="Gönder">&nbsp;&nbsp;<INPUT TYPE="RESET" VALUE="Sil"></FORM>

<HR>

<H4>Üçüncü Form</H4>

<FORM ACTION="FormOrnek.asp" METHOD="GET">

<INPUT TYPE="Hidden" NAME="HangiForm" VALUE="3">

<SELECT NAME="SecmeListesi" SIZE="1">

<OPTION VALUE="ListeTercih1">Liste Tercih 1

<OPTION VALUE="ListeTercih2">Liste Tercih 2

<OPTION VALUE="ListeTercih3">Liste Tercih 3

</SELECT>

<SELECT NAME="CokluSecme" SIZE="3" MULTIPLE>

<OPTION VALUE="ListeKutu1">Çoklu Seçme Kutusu 1

<OPTION VALUE="ListeKutu2">Çoklu Seçme Kutusu 2

<OPTION VALUE="ListeKutu3">Çoklu Seçme Kutusu 3

</SELECT><P>

<INPUT TYPE="Submit" VALUE="Gönder">&nbsp;&nbsp;<INPUT TYPE="RESET" VALUE="Sil">

</FORM>

</BODY>

</HTML>

Daha sonra belirlediğimiz değişkenlerin Form’un hangi öğelerinden geldiğinin rahat anlaşılması için burada Form unsurlarının değeri olarak unsurun adına yakın kelimeleri kullandığımıza dikkat edin. Sayfada üç ayrı Form bulunduğu, ilk iki formun POST, üçüncüsünün ise GET metoduyla Server’a bilgi gönderdiği de dikkatinizi çekmiş olmalı. POST metodunda Server’a giden bilgiler, talep edilen sayfanın adına URL kodlama yöntemiyle (ve dolayısıyla Browser’ınızın URL kutusuna yazılarak) gönderilmez; Fakat ilk iki Form’da POST metodu kullanmış olmamıza rağmen, formu işleyecek programa bilgilerin hangi formdan gittiği sanki GET metodu kullanılmış gibi bildiriliyor. Bu yöntemi, Request.Form kolleksiyonuna yazılmasını istemediğimiz bilgiler için kullanabibiliriz. Üçüncü Form ise bilgilerini GET yoluyla gönderiyor ve kendisinin hangi form olduğuna ilişkin bilgiyi ise gizli bir değişkene yazıyor. Her üç durumda da HagiForm değişkeninin değeri olarak, ASP programına formun sıra numarası anlamına gelen sayı gönderiliyor. Birinci form 1, ikinci form 2, üçüncü form ise 3 değerini yolluyor. Bu HTML dosyasını Browser’da açarsanız, üç ayrı formu göreceksiniz.

<asp0018>

Her üç formun gönderdiği bilgiler aşağıdaki programa ulaşıyor. Bu programı FormOrnek.asp adıyla kaydedebilirsiniz:

<HTML>

<HEAD>

<TITLE>ORNEK FORM SONUCLARI</TITLE>

<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">

<META http-equiv="Content-Type" content="text/html; charset=windows-1254">

</HEAD>

<BODY>

<%

dim FormTercihi

FormTercihi = Request.QueryString("HangiForm")

Select Case FormTercihi

Case 1

%>

Metin alanı sonuçları<P>

<TABLE BORDER=1 CELLPADDING=5 width=75%>

<TR><TD>Input/Text Alanı</TD><TD><B><%= Request.Form("MetinGir") %></B></TD></TR>

<TR><TD>Input/Passsword Alanı</TD><TD><B><%= Request.Form("ParolaAlani") %></B></TD></TR>

<TR><TD>TextArea Alanı</TD><TD><B><%= Request.Form("MetinAlani") %></B></TD></TR>

</TABLE>

<HR>

<%

Case 2

%>

Radyo Düğmesi ve İşaret Kutusu Sonuçları<P>

<TABLE BORDER=1 CELLPADDING=5 width=25%>

<TR><TD>Seçilen Radyo Düğmesi</TD><TD><B><%= Request.Form("Radyo") %></B></TD></TR>

<TR><TD>İşaretlenen Kutular</TD><TD><B><%

dim strIsaretlenen

            for each strIsaretlenen in Request.Form("IsaretKutusu")

            Response.Write strIsaretlenen & "<BR>"

            next

 %></B></TD></TR>

</TABLE>

<HR>

<%

Case 3

%>

Seçme Alanları sonuçları<P>

<TABLE BORDER=1 CELLPADDING=5 width=35%>

<TR><TD>Seçilen Liste Ögesi</TD><TD><B><%= Request("SecmeListesi") %></B></TD></TR>

<TR><TD>Seçilen Çoklu Liste Ögeleri</TD><TD><B><%

            for each strIsaretlenen in Request("CokluSecme")

            Response.Write strIsaretlenen & "<BR>"

            next

%></B></TD></TR>

</TABLE>

<HR>

<%

End Select

%>

Bu programda, üç ayrı formdan gelebilecek bilgiler, HangiForm değişkeninin değerine göre, Select Case döngüsü ile üç ayrı bölümde işleniyor. İlk iki formda, bilgiler POST metodu ile geldiği için Request.Form nesnesinin içinde, değişken adıyla aranabilir. Üçüncü Formda ise bilgiler Request.QueryString nesnesinde bulunuyor. Burada bu bilgilerin daha önce görmediğimiz kısaltma yöntemiyle alınıp, sayfaya aktarıldığını görüyorsunuz; <%=Request("SecmeListesi")>, aslında;

Response.Write Request.QueryString(“SecmeListesi”)

ifadesinin kısaltılmışıdır.

FormOrnek.htm’in her üç formunda da bazı tercihler yaparak Gönder düğmesini tıkladığınızda, FormOrnek.asp’ye gönderilen URL bilgisine dikkat edin. İlk ikisinde sadece seçilen formun HangiForm değeri yer aldığı halde. üçüncüsünde formdaki bütün bilgiler burada URL-kodlanmış olarak yer alacaktır.

<asp0019>

<asp00208>

<asp0021>

Programın bilgi işleyen bölümünü kendiniz irdeleyebilir misiniz?

 
 
  Bugün 157 ziyaretçi (246 klik) www.bilisim-egitim.tr.gg  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol