<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tunahan.net &#187; QueryString</title>
	<atom:link href="http://www.tunahan.net/tag/querystring/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tunahan.net</link>
	<description>Tunahan H. MADEN Personal Page</description>
	<lastBuildDate>Thu, 01 Jul 2010 23:48:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HTML Formlarıyla Çalışma</title>
		<link>http://www.tunahan.net/2009/12/15/html-formlariyla-calisma/</link>
		<comments>http://www.tunahan.net/2009/12/15/html-formlariyla-calisma/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 03:03:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[QueryString]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.tunahan.net/?p=20</guid>
		<description><![CDATA[ASP Request nesnesini kullanarak, HTML formlarıyla birleştirilmiş verileri toplamak ve işletmek için, basit ama güçlü betikler oluşturabilirsiniz. Bu başlık altında, sadece temel form işletim betiklerini öğrenmekle kalmayacak, aynı zamanda, hem Web sunucunuz hem de kullanıcı tarayıcısı üzerinde form bilgisi onaylamak için yararlı teknikleri de öğrenmiş olacaksınız.
HTML Formları Hakkında
HTML formları, Web bilgilerini toparlamanın en iyi metodu [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ASP Request nesnesini kullanarak, HTML formlarıyla birleştirilmiş verileri toplamak ve işletmek için, basit ama güçlü betikler oluşturabilirsiniz. Bu başlık altında, sadece temel form işletim betiklerini öğrenmekle kalmayacak, aynı zamanda, hem Web sunucunuz hem de kullanıcı tarayıcısı üzerinde form bilgisi onaylamak için yararlı teknikleri de öğrenmiş olacaksınız.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">HTML Formları Hakkında</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">HTML formları, Web bilgilerini toparlamanın en iyi metodu budur, özel HTML etiketlerinin (ki bunlar Web sayfası üzerindeki arayüz kontrollerini sağlar) düzenlemesidir. Metin kutuları, düğmeler, ve onay kutuları kullanıcının bir Web sayfasıyla iletişimini ve Web sunucuya bilgi onayı sağlayan kontrollere örneklerdir.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Aşağıdaki HTML örneği kullanıcının adı, soyadı ve yaşı bilgilerini girmesini ve Web sunucuya bu bilgilerin onaylanmasını sağlayan bir de düğmesi bulunan bir formu oluşturur. Form ayrıca Web sunucuya ek bilgiler iletebilen bir saklı kontrol de içerir.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;FORM METHOD=&#8221;POST&#8221; ACTION=&#8221;dosyam.asp&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;adi&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;soyadi&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;yasi&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;INPUT TYPE=&#8221;hidden&#8221; NAME=&#8221;userstatus&#8221; VALUE= &#8220;new&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;INPUT TYPE=&#8221;submit&#8221; VALUE=&#8221;Enter&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/FORM&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ASP ile Form Girişlerini Ele Almak</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Bir form Web sunucuya bilgi onaylayınca, kullanıcı tarayıcısı HTML &lt;FORM &gt; etiketinin ACTION özelliği ile belirtilen .asp dosyasını ister. .asp dosyası form değer işletimini ele alan betikler içerir. Sonuçlar tablosu görüntülemek ya da veri tabanından veri sorgulamak gibi&#8230;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">HTML form değerlerini biriktirmek için .asp dosyaları kullanmanın üç yolu vardır:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">· Bir .asp dosyası bilgileri başka bir .asp dosyasına ileten bir form oluşturabilir.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">· Bir statik .htm dosyası değerlerini .asp dosyasına ileten bir form içerebilir.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">· Bir .asp dosyası bilgileri kendine iletebilir.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">İlk iki metod diğer giriş programlarıyla çalışan formlarla aynı şekilde çalışır. Fakat Asp ile kullanıcı seçimlerini okuyan ve cevaplayan komutlar da kullanabilirsiniz.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Bilgiyi kendine yollayan bir form tanımı içeren .asp dosyası oluşturmak daha karmaşık ama daha güçlü bir formlarla çalışma yoludur. Bu işlem &#8220;Form Girişi Onaylamak&#8221; kısmında anlatılmaktadır.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Form Girişi</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ASP Request nesnesi iki yığın sağlar ki bunlar bir URL istemine eklenmiş form bilgilerini yeniden elde etme işini basitleştirir.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&#8220;QueryString&#8221; Yığını</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">QueryString yığını Web sunucunuza iletilen form değerlerini, istem URLsinde soru işareti ile biten bir metin olarak getirir. Form değerleri istem URLsine ya HTTP GET metodu ile ya da elle form değerlerini URLye ekleyerek ilave edilebilir.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Örneğin, bir önceki form örneğinde GET metodu (ACTION = &#8220;GET&#8221;) kullanılsa ve kullanıcı Jeff, Smith, ve 30 yazmış olsaydı, aşağıdaki URL istemi sunucuya yollanmış olurdu:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://scripts/Myfile.asp?adi=Jeff&amp;soyadi=Smith&amp;yasi=30&amp;userstatus=new</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Myfile.asp aşağıdaki form işletim betiğini içerebilir:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Merhaba, &lt;%= Request.QueryString(&#8221;adi&#8221;) %&gt; &lt;%= Request.QueryString(&#8221;soyadi&#8221;) %&gt;.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Siz &lt;%= Request.QueryString(&#8221;yasi&#8221;) %&gt; yasindasiniz.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;%</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">If Request.QueryString(&#8221;userstatus&#8221;) = &#8220;new user&#8221; then</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Response.Write&#8221;Bu Web sitesine ilk gelişiniz!&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">End if</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">%&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Bu durumda, Web sunucunuz kullanıcı Web tarayıcısına aşağıdaki metini döndürür:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Merhaba, Jeff Smith. Siz 30 yasindasiniz. Bu Web sitesine ilk gelişiniz!</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">QueryString yığınının aynı zamanda bir de istem gövdesinde yer alabilen çoklu değerlerden birine erişmek için kullanılacak seçimlik bir parametresi vardır. Ayrıca Count özelliğini de belli bir türün kullanılma sayısını saymak için kullanabilirsiniz.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Örneğin, birçok maddesi bulunan bir liste kutusunu içeren bir form, aşağıdaki istemi oluşturur:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://list.asp?yiyecek=elma&amp;yiyecek=zeytin&amp;yiyecek=ekmek</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Ayrıca, çoklu değerleri saymak için aşağıdaki komutu da kullanabilirsiniz:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Request.QueryString(&#8221;yiyecek&#8221;).Count</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Çoklu değer türlerini görüntülemek için, List.asp aşağıdaki betiği içerir:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;%Total = Request.QueryString(&#8221;yiyecek&#8221;).Count%&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;%For i = 1 to Total%&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;%= Request.QueryString(&#8221;yiyecek&#8221;)(i) %&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;%Next%&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Yukarıdaki betik görüntüsü:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">apples</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">olives</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">bread</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Form Yığını</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">HTTP GET metodunu Web sunucuya karışık ve uzun form değerlerini ileteceğiniz zaman, bilgiyi kaybetme riskiniz vardır. Çoğu Web sunucular URL sorgu dizgisi boyunu kısıtlamaya eğilimlidir. Bu yüzden, uzun form değerlerinin kısaltılması için GET metodu kullanılır. Eğer bir formdan bir Web sunucuya büyük miktarda bir bilgi gönderecekseniz, HTTP POST metodunu kullanmalısınız. HTTP istem gövdesinde form verisi gönderen POST metodu, sunucuya sınırsız sayıda karakteri sanal olarak yollar. ASP Request nesnesinin Form yığınını POST metodu ile yollanmış değerleri elde etmek için kullanabilirsiniz.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Form yığını, değerleri QueryString yığını ile aynı mantıkla saklar. Örneğin, eğer bir kullanıcı uzun bir liste halinde isimler girerek bir formu doldurduysa, isimleri aşağıdaki betik ile elde edebilirsiniz:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;% For i = 1 to Request.Form.Count %&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;% =Request.Form(&#8221;isimler&#8221;)(i) %&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;% Next %&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Form Girişi Onaylamak</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">İyi bir işletim betiği, verileri işlemeden önce girilen bilgiyi onaylar. Onaylama betiği, kullanıcının forma girdiği bilgilerin doğru türlerde olup olmadığını kontrol eder. Örneğin, eğer Web siteniz kullanıcıya finansal bilgileri hesaplama imkanı veren bir form içeriyorsa, sonuçların işletimden önce kullanıcının metin değil sayısal değerler girdiğini onaylanmasını isteyebilirsiniz.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Form girişini onaylamanın iyi bir yolu da bilgiyi kendine veren bir form yaratmaktır. Bu durumda, .asp dosyası bilgiyi getiren formu içerir. Örneğin, aşağıdaki betik, bilgiyi kendine yollayarak, &#8220;yaş&#8221; alanına sayı girilip girilmediğini saptar:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;% If Isnumeric(Request.QueryString(&#8221;yasi&#8221;)) then %&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;p&gt;Merhaba,yaşınız &lt;%=Request.QueryString(&#8221;age&#8221;)%&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;%Else %&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;p&gt;Lütfen sayısal bir değer giriniz.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;%End If %&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;FORM METHOD= &#8220;POST&#8221; ACTION=&#8221;verify.asp&#8221; &gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Name: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;adi&#8221; &gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Age: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;yasi&#8221; &gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;INPUT TYPE=&#8221;submit&#8221; VALUE=&#8221;Enter&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/FORM&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Bu örnekte, betik Verify.asp isimli bir dosyanın, formu içeren aynı dosya, içindedir. Form bilgiyi kendine ACTION özelliğinde Verify.asp&#8217;yi belirterek yollar.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Ayrıca, kullanıcının uygun bilgiler girdiğini kontrol etmek için istemci-taraflı betikler de oluşturabilirsiniz. Form giriş hatalarını kullanıcılara daha hızlı bildirmek için form girişini kullanıcı Web tarayıcısında onaylamak, Web sunucunuzun ağ trafiğini azaltacaktır. Aşağıdaki betik, kullanıcı Web tarayıcısı üzerinde çalışır ve bilgiyi Web sunucunuza bildirmeden önce kullanıcı bilgilerini onaylar.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;SCRIPT LANGUAGE=&#8221;VBScript&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;!&#8211;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Sub btnEnter_OnClick</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Dim Form</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Set Form = Document.MyForm</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">If IsNumeric(Form.yasi.Value) Then</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Form.submit<span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Else</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Msgbox &#8220;Lütfen sayısal bir değer giriniz.&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">End if</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">End Sub</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//&#8211;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/SCRIPT&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;FORM METHOD= &#8220;POST&#8221; NAME= Formum ACTION=&#8221;dosyam.asp&#8221; &gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">adi: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;adi&#8221; &gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">yasi: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;yasi&#8221; &gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;INPUT TYPE=&#8221;button&#8221; NAME=&#8221;btnEnter&#8221; VALUE=&#8221;Enter&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/FORM&gt;</div>
<p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">ASP Request nesnesini kullanarak, HTML formlarıyla birleştirilmiş verileri toplamak ve işletmek için, basit ama güçlü betikler oluşturabilirsiniz. Bu başlık altında, sadece temel form işletim betiklerini öğrenmekle kalmayacak, aynı zamanda, hem Web sunucunuz hem de kullanıcı tarayıcısı üzerinde form bilgisi onaylamak için yararlı teknikleri de öğrenmiş olacaksınız.</span></p>
<p>HTML Formları Hakkında</p>
<p>HTML formları, Web bilgilerini toparlamanın en iyi metodu budur, özel HTML etiketlerinin (ki bunlar Web sayfası üzerindeki arayüz kontrollerini sağlar) düzenlemesidir. Metin kutuları, düğmeler, ve onay kutuları kullanıcının bir Web sayfasıyla iletişimini ve Web sunucuya bilgi onayı sağlayan kontrollere örneklerdir.</p>
<p>Aşağıdaki HTML örneği kullanıcının adı, soyadı ve yaşı bilgilerini girmesini ve Web sunucuya bu bilgilerin onaylanmasını sağlayan bir de düğmesi bulunan bir formu oluşturur. Form ayrıca Web sunucuya ek bilgiler iletebilen bir saklı kontrol de içerir.</p>
<blockquote><p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span></p>
<p>&lt;FORM METHOD=&#8221;POST&#8221; ACTION=&#8221;dosyam.asp&#8221;&gt;<br />
&lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;adi&#8221;&gt;<br />
&lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;soyadi&#8221;&gt;<br />
&lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;yasi&#8221;&gt;<br />
&lt;INPUT TYPE=&#8221;hidden&#8221; NAME=&#8221;userstatus&#8221; VALUE= &#8220;new&#8221;&gt;<br />
&lt;INPUT TYPE=&#8221;submit&#8221; VALUE=&#8221;Enter&#8221;&gt;<br />
&lt;/FORM&gt;</p></blockquote>
<p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br />
ASP ile Form Girişlerini Ele Almak<br />
Bir form Web sunucuya bilgi onaylayınca, kullanıcı tarayıcısı HTML &lt;FORM &gt; etiketinin ACTION özelliği ile belirtilen .asp dosyasını ister. .asp dosyası form değer işletimini ele alan betikler içerir. Sonuçlar tablosu görüntülemek ya da veri tabanından veri sorgulamak gibi&#8230;</span></p>
<p>HTML form değerlerini biriktirmek için .asp dosyaları kullanmanın üç yolu vardır:</p>
<p>· Bir .asp dosyası bilgileri başka bir .asp dosyasına ileten bir form oluşturabilir.<br />
· Bir statik .htm dosyası değerlerini .asp dosyasına ileten bir form içerebilir.<br />
· Bir .asp dosyası bilgileri kendine iletebilir.<br />
İlk iki metod diğer giriş programlarıyla çalışan formlarla aynı şekilde çalışır. Fakat Asp ile kullanıcı seçimlerini okuyan ve cevaplayan komutlar da kullanabilirsiniz.</p>
<p>Bilgiyi kendine yollayan bir form tanımı içeren .asp dosyası oluşturmak daha karmaşık ama daha güçlü bir formlarla çalışma yoludur. Bu işlem &#8220;Form Girişi Onaylamak&#8221; kısmında anlatılmaktadır.</p>
<p>Form Girişi<br />
ASP Request nesnesi iki yığın sağlar ki bunlar bir URL istemine eklenmiş form bilgilerini yeniden elde etme işini basitleştirir.</p>
<p>&#8220;QueryString&#8221; Yığını<br />
QueryString yığını Web sunucunuza iletilen form değerlerini, istem URLsinde soru işareti ile biten bir metin olarak getirir. Form değerleri istem URLsine ya HTTP GET metodu ile ya da elle form değerlerini URLye ekleyerek ilave edilebilir.</p>
<p>Örneğin, bir önceki form örneğinde GET metodu (ACTION = &#8220;GET&#8221;) kullanılsa ve kullanıcı Jeff, Smith, ve 30 yazmış olsaydı, aşağıdaki URL istemi sunucuya yollanmış olurdu:</p>
<p>http://scripts/Myfile.asp?adi=Jeff&amp;soyadi=Smith&amp;yasi=30&amp;userstatus=new</p>
<p>Myfile.asp aşağıdaki form işletim betiğini içerebilir:</p>
<blockquote><p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span></p>
<p>Merhaba, &lt;%= Request.QueryString(&#8221;adi&#8221;) %&gt; &lt;%= Request.QueryString(&#8221;soyadi&#8221;) %&gt;.<br />
Siz &lt;%= Request.QueryString(&#8221;yasi&#8221;) %&gt; yasindasiniz.<br />
&lt;%<br />
If Request.QueryString(&#8221;userstatus&#8221;) = &#8220;new user&#8221; then<br />
Response.Write&#8221;Bu Web sitesine ilk gelişiniz!&#8221;<br />
End if<br />
%&gt;</p></blockquote>
<p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br />
Bu durumda, Web sunucunuz kullanıcı Web tarayıcısına aşağıdaki metini döndürür:</span></p>
<p>Merhaba, Jeff Smith. Siz 30 yasindasiniz. Bu Web sitesine ilk gelişiniz!</p>
<p>QueryString yığınının aynı zamanda bir de istem gövdesinde yer alabilen çoklu değerlerden birine erişmek için kullanılacak seçimlik bir parametresi vardır. Ayrıca Count özelliğini de belli bir türün kullanılma sayısını saymak için kullanabilirsiniz.</p>
<p>Örneğin, birçok maddesi bulunan bir liste kutusunu içeren bir form, aşağıdaki istemi oluşturur:</p>
<p>http://list.asp?yiyecek=elma&amp;yiyecek=zeytin&amp;yiyecek=ekmek</p>
<p>Ayrıca, çoklu değerleri saymak için aşağıdaki komutu da kullanabilirsiniz:</p>
<p>Request.QueryString(&#8221;yiyecek&#8221;).Count</p>
<p>Çoklu değer türlerini görüntülemek için, List.asp aşağıdaki betiği içerir:</p>
<blockquote><p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span></p>
<p>&lt;%Total = Request.QueryString(&#8221;yiyecek&#8221;).Count%&gt;<br />
&lt;%For i = 1 to Total%&gt;<br />
&lt;%= Request.QueryString(&#8221;yiyecek&#8221;)(i) %&gt;<br />
&lt;%Next%&gt;</p></blockquote>
<p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span></p>
<p>Yukarıdaki betik görüntüsü:<br />
apples<br />
olives<br />
bread</p>
<p>Form Yığını<br />
HTTP GET metodunu Web sunucuya karışık ve uzun form değerlerini ileteceğiniz zaman, bilgiyi kaybetme riskiniz vardır. Çoğu Web sunucular URL sorgu dizgisi boyunu kısıtlamaya eğilimlidir. Bu yüzden, uzun form değerlerinin kısaltılması için GET metodu kullanılır. Eğer bir formdan bir Web sunucuya büyük miktarda bir bilgi gönderecekseniz, HTTP POST metodunu kullanmalısınız. HTTP istem gövdesinde form verisi gönderen POST metodu, sunucuya sınırsız sayıda karakteri sanal olarak yollar. ASP Request nesnesinin Form yığınını POST metodu ile yollanmış değerleri elde etmek için kullanabilirsiniz.</p>
<p>Form yığını, değerleri QueryString yığını ile aynı mantıkla saklar. Örneğin, eğer bir kullanıcı uzun bir liste halinde isimler girerek bir formu doldurduysa, isimleri aşağıdaki betik ile elde edebilirsiniz:</p>
<blockquote><p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span></p>
<p>&lt;% For i = 1 to Request.Form.Count %&gt;<br />
&lt;% =Request.Form(&#8221;isimler&#8221;)(i) %&gt;<br />
&lt;% Next %&gt;</p></blockquote>
<p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br />
Form Girişi Onaylamak<br />
İyi bir işletim betiği, verileri işlemeden önce girilen bilgiyi onaylar. Onaylama betiği, kullanıcının forma girdiği bilgilerin doğru türlerde olup olmadığını kontrol eder. Örneğin, eğer Web siteniz kullanıcıya finansal bilgileri hesaplama imkanı veren bir form içeriyorsa, sonuçların işletimden önce kullanıcının metin değil sayısal değerler girdiğini onaylanmasını isteyebilirsiniz.</span></p>
<p>Form girişini onaylamanın iyi bir yolu da bilgiyi kendine veren bir form yaratmaktır. Bu durumda, .asp dosyası bilgiyi getiren formu içerir. Örneğin, aşağıdaki betik, bilgiyi kendine yollayarak, &#8220;yaş&#8221; alanına sayı girilip girilmediğini saptar:</p>
<blockquote><p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span></p>
<p>&lt;% If Isnumeric(Request.QueryString(&#8221;yasi&#8221;)) then %&gt;<br />
&lt;p&gt;Merhaba,yaşınız &lt;%=Request.QueryString(&#8221;age&#8221;)%&gt;<br />
&lt;%Else %&gt;<br />
&lt;p&gt;Lütfen sayısal bir değer giriniz.<br />
&lt;%End If %&gt;</p>
<p>&lt;FORM METHOD= &#8220;POST&#8221; ACTION=&#8221;verify.asp&#8221; &gt;<br />
Name: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;adi&#8221; &gt;<br />
Age: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;yasi&#8221; &gt;<br />
&lt;INPUT TYPE=&#8221;submit&#8221; VALUE=&#8221;Enter&#8221;&gt;<br />
&lt;/FORM&gt;</p></blockquote>
<p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span></p>
<p>Bu örnekte, betik Verify.asp isimli bir dosyanın, formu içeren aynı dosya, içindedir. Form bilgiyi kendine ACTION özelliğinde Verify.asp&#8217;yi belirterek yollar.</p>
<p>Ayrıca, kullanıcının uygun bilgiler girdiğini kontrol etmek için istemci-taraflı betikler de oluşturabilirsiniz. Form giriş hatalarını kullanıcılara daha hızlı bildirmek için form girişini kullanıcı Web tarayıcısında onaylamak, Web sunucunuzun ağ trafiğini azaltacaktır. Aşağıdaki betik, kullanıcı Web tarayıcısı üzerinde çalışır ve bilgiyi Web sunucunuza bildirmeden önce kullanıcı bilgilerini onaylar.</p>
<blockquote><p><span style="font-family: verdana; line-height: normal; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">&lt;SCRIPT LANGUAGE=&#8221;VBScript&#8221;&gt;<br />
&lt;!&#8211;<br />
Sub btnEnter_OnClick<br />
Dim Form<br />
Set Form = Document.MyForm<br />
If IsNumeric(Form.yasi.Value) Then<br />
Form.submit<br />
Else<br />
Msgbox &#8220;Lütfen sayısal bir değer giriniz.&#8221;<br />
End if<br />
End Sub<br />
//&#8211;&gt;<br />
&lt;/SCRIPT&gt;</span></p>
<p>&lt;FORM METHOD= &#8220;POST&#8221; NAME= Formum ACTION=&#8221;dosyam.asp&#8221; &gt;<br />
adi: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;adi&#8221; &gt;<br />
yasi: &lt;INPUT TYPE=&#8221;text&#8221; NAME=&#8221;yasi&#8221; &gt;<br />
&lt;INPUT TYPE=&#8221;button&#8221; NAME=&#8221;btnEnter&#8221; VALUE=&#8221;Enter&#8221;&gt;<br />
&lt;/FORM&gt;</p></blockquote>
<p>Not; Bu yazı 04 Aralık 2003 tarihinde <a href="http://www.sorucevap.com/uyeler/dersler.asp?maxiturk">http://www.sorucevap.com/uyeler/dersler.asp?maxiturk</a> adresinde tarafımca yayınlanmıştır.</p>
<p>Kolay Gelsin <img src='http://www.tunahan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tunahan.net/2009/12/15/html-formlariyla-calisma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
