Request Nesnesi

Başlatan Safirmedya, 12 Mart , 2011, 15:46:56

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Safirmedya

Request.Form ve Request.QueryString

Request'in kelime karşılığı taleptir. ASP dilinde Request, ziyaretçi browser'ından servere talep gönderilmesi işlemidir. En çok kullanılan şekli web formları aracılığı ile veri gönderilmesidir.
Request nesnesine başlamadan önce web formları hakkında kısaca bilgi verelim:
Formlar etiketlerinin arasında tanımlıdır. Biz yazımız boyunca form etiketinin iki parametresini yoğun olarak kullanacağız: action ve method.
Action parametresi formdaki verilerin yönlendirileceği sayfayı belirtmemizi sağlar.


action="data_al.asp">


Bizi asıl ilgilendiren method parametresi ise, verilerin bu sayfaya ne şekilde gönderileceğini belirtmemizi sağlar. Genelde kullanılan iki methodu vardır: POST ve GET methodları.

  action="data_al.asp" method="POST/GET">  [/color]

Bu iki method arasında taşıyabildikler veri miktarları bakımından farklar vardır: GET methodu ile 256 bytelık veri taşınabilirken POST methodunda böyle bir sınırlama yoktur. Fakat küçük verileri taşımada da GET methodu POST methoduna göre daha hızlıdır.

Kolleksiyonları

1) Form ve QueryStringASP açısından bu bizim için şöyle bir fark oluşturuyor:POST methoduyla gönderilen veri server tarafından Request.Form("isim"), GET methodyla gönderilen veri ise Request.QueryString("isim") şeklinde talep edilir.Daha iyi anlaşılması için bu iki özelliği örnek üzerinde görelim:

<html>
<body>
<form action="sonuc.asp" method="GET">
Sizin tercih ettiğiniz programlama dili hangisi?<br>
<input type="radio" value="ASP" name="dil">ASP<br>
<input type="radio" value="PHP" name="dil">PHP<br>
<input type="radio" value="CGI-Perl" name="dil">CGI-Perl<br>
<input type="radio" value=CFM" name="dil">CFM<br>
<input type="submit" value="Gönder">
</form>
</body>
</html>


Bu sayfayı anket.asp olarak kaydediyoruz. Sayfada radio button aracılığıyla form elemanlarından sadece bir tanesini geri gönderiyoruz.

<html>
<body>
<%
Response.Write ("Sizin favori programlama diliniz: <b>"& Request.QueryString("dil")&"</b>")
%>
</body>
</html>
Bu sayfayı da sonuc.asp olarak kaydediyoruz. 4. satırda yapılan işlemle de Request.QueryString ile aldığımız dil değişkenini Response.Write kullanarak ekrana yazdırmaktır.

<html>
<body>
<form action="gonder.asp" method="POST">
İsim: <input type="text" name="isim" size="20"><br>
Soyisim:<input type="text" name="soyisim" size="20"><br>
Adres: <textarea rows="3" name="adres" cols="30"></textarea><br>
<input type="submit" value="Gönder"></p>
</form>
</body>
</html>


Dosyamızı bilgi.asp olarak kaydediyoruz. Burada 3 farklı form elemanı var: 2 adet textbox ve 1 adet textarea. Bunları yine gonder.asp adındaki başka bir dosyaya gönderiyoruz.

<html>
<body>
<%
Response.Write ("İsim: <b>"& Request.Form("isim")&"</b><br>")
Response.Write ("Soyisim: <b>"& Request.Form("soyisim")&"</b><br>")
Response.Write ("Adres: <b>"& Request.Form("adres")&"</b>")
%>
</body>
</html>


[/color]Bu dosyamızı da gonder.asp adıyla kaydediyoruz. Burada yapılan işlemde bir öncekinden farklı olarak birden fazla verinin her birini ayrı satırda (4.,5. ve 6. satır) ve Request.Form kullanarak alıyoruz.

2) ServerVariables

Server özellikleri hakkında ayrıntılı bilgi edinebileceğimiz bir nesnedir. Aşağıdaki örnek tüm değişkenleri görmenizi sağlayacak basit bir uygulamadır.

<TABLE>
<TR><TD><B>Server Değişkenleri</B></TD><TD><B>Value</B></TD></TR>
<% For Each name In Request.ServerVariables %>
<TR><TD> <%= name %> </TD><TD>  <%= Request.ServerVariables(name) %> </TD></TR></TABLE>
<% Next %>


[/color]2) Cookies

Daha önce Response nesnesi ile ilgili yazımızda nasıl cookie oluşturacağımızı göstermiştik. Şimdi ise oluşturduğumuz cookie'de tuttuğumuz değişkenleri nasıl kullanabileceğimize kısaca değineceğiz.Daha önceki örneğimizi incelerseniz ilkCookie isimli bir cookie ve ilkAnahar isimli bir anahtar oluşturmuştuk. Şimdi bu örneği yapmış olduğunuzu varsayarak, cookie'deki dataları çekmeye çalışalım:<%
Request.Cookies("ilkCookie").("ilkAnahtar")
%>

Bu kadar basit. Ama cookie kullanımı, bazı sakıncalar doğurabilir. Çünkü netice olarak cookie dosyaları ziyaretçi bilgisayarında barındırılıyor. Kötü niyetli bir kullanıcı sisteminizi kırmak için bu zaaftan faydalanabilir.

Özellikleri ve Metodları

• Özellikleri:
TotalBytes

Request methoduyla gönderilen verinin toplam boyutunu bulmanızı sağlar. Herhangi bir veriyi de ölçebilmekle beraber, daha çok pure asp upload yapılırken, dosya boyutunu bulmak için kullanılır. Kullanılışı basitçe aşağıdaki gibidir.

• Metodlar:BinaryRead

Basitçe, post metdodu ile alınmış bir veri kümesini ikili kodlara (binary) çevirir.Yine daha çok pure asp upload yaparken, dosyayı server'a binary olarak yazmak için kullanılır.
[/size]
Bir insanın gerçek zenginliği, onun bu dünyada yaptığı iyilikleridir.

Hz.Muhammed

Safirmedya

Bir insanın gerçek zenginliği, onun bu dünyada yaptığı iyilikleridir.

Hz.Muhammed