ASP Request Nesneleri

ASP, PHP, PERL, CGI, HTML gibi web programcılık dilleri hakkında yardım, tartışma ve paylaşımlar.
Cevapla
Kullanıcı avatarı
UnreaL
Fast Friend
Fast Friend
Mesajlar: 207
Kayıt: 24-12-2005 17:26

ASP Request Nesneleri

Mesaj gönderen UnreaL »

Request Objesi:
Request objesi bilgi toplamak amaçlı kullanılan bir objedir. Detaylı olarak anlatılacak olmasına rağmen bu obje içersinde (koleksiyon) yer alan metotlara kısaca bakalım.

1-Querystring: Eğer gönderilen bilgi url içersinde bulunan dosya ismi ile birlikte taşınıyorsa başka bir ifadeyle bilgi formu metodundan "GET" ile gönderiliyor ise Querystring metodu bu bilginin elde edilmesi için kullanılır.

2-Form: Eğer bilgi Form içerisinde "POST" metodu ile gönderiliyor ise bilginin elde edilmesi için kullanılan bir metodudur.

3-Servervariables: Web server request ile ilgili bilgileri ( Http ServerVariables ) tutar. Bu bilgilere bu koleksiyon içerisinde ulaşmayı sağlayan bir metoddur.

4-Cookies: Eğer client browser server dan gelen cookileri ( çerez:text dosyaları ) kabul ediyor ise bu bilgi web server a cookie koleksiyonu içerisinde ulaşır.

5-ClientCertificate: Client Certificate dijital bir sertifikadır ve client ve web server arasında ulaşılan server ve client' ın birbirini tanımlaması için kullanılır. Detaylı olarak ele alınacaktır.

QueryString Koleksiyonu

Querystring server a iletilen bilgi kümeciği metotlarından biridir. Bu iletişim browser ın adres hanesinde yer alan dosya adına "?" ve "&" işaretleri vasıtası ile bilgilerin eklenmesi suretiyle gerçekleşir. Genel kullanımı :filename.asp?kullanici=Mehmet şeklindedir.
Eğer daha fazla bilgi bir anda gönderilmek isteniyor ise bu "&" işareti kullanılarak;
filename.asp?kullanici=Mehmet &email=mehmet@dogus.edu.tr şeklinde gerçekleştirilir.
"&" işareti bilgilerin birbirinden ayrılmasını sağlar. Kullanıcı adı ve soyadını alan ve bunları Querystring metodu ile ilgili forma gönderecek bir form dizayn edelim. İlgili Html formu aşağıdaki gibi olmalıdır;

< form name=login Action=Querystring.asp metod="GET">
Lütfen Adınızı Giriniz: < input type="text" name"adi" > <BR>
Lütfen SoyadınızıGiriniz:< input type="text" name="soyadi" > <BR>
< input type="submit" value="login" >
< /Form >


Yukarıdaki kod adı soyadı alanları bulunan bir form elde etmemizi sağlar.

Bu Html kodu içerisinde yer alan input submit butonu < form action="Querystring.asp" metod= "GET" > bu kutucuklara girilen bilgileri action kısmında belirtilen Querystring.asp'ye "GET"metodu kullanılarak gönderilir. (Yani bilgiler browser' ın adres hanesi kullanılarak iletilir.) Bu bilgilere ulaşmak içinse Request' in Querystring metodu aşağıdaki şekilde kullanılır.
Request. Querystring ("istek gönderen formdaki Html elemanının adı") bu genel kullanıma göre eğer biz "..." içerisine o formda yer alan bir kontrolün adını koyar, istek o input alanına girilmiş veriye ulaşırız, yani Request. Querystring ("adi") şeklinde bir kullanım "adi" adlı text box'a girilen veriye;
Request. Querystring ("soyadi")şeklinde bir kullanım ise "soyadi" adı verilen textbox' a girilen veriye ulaşmamızı sağlar. Eğer Response nesnesinin Write metodunu kullanırsak login formuna girilen verileri;

<%
Response.write Request. Querystring ("adi") & "<BR>"
Response.Write Request. Querystring ("soyadi")
%>

<%
For Each eleman in Request. Querystring
Response.Write eleman & "......" & Request. Querystring(eleman)
Next
%>



şeklinde bir döngü ile bize Querystring ie gönderilen tüm elemanları ve bu elemanların değerlerini ekrana basabiliriz. Yukarıdaki döngü Request. Querystring ile oluşturulan her eleman için döngüyü tekrarlar.
Request. Querystring ("kontrol").count özelliği gönderilen elemanları saymak için kullanılır. Eğer bu sayı"o" 'a eşit ise herhangi bir bilgi gönderilmemiş demektir.
Şimdi değişik konularda başlıkların yer aldığı ve bu başlıklar arasından kullanıcının yaptığı seçimlere bağlı olarak bu konularda kendisine bilgi göndereceği mesajını ekrana basan bir ASP uygulaması oluşturalım. Kullanıcının seçim yapabileceği selectbox'ın yer aldığı Html formunu dizayn edelim:

< HTML >
< HEAD >
< TITLE > kitap başlıkları < /TITLE >
< /HEAD >
< BODV >
Aşağıdaki konu başlıklarından ilgilendiklerinizi seçiniz.
< FORM ACTION="responseQuerystring.asp" METHOD="GET" >
< Select size=3 name="Konular" MULTIPLE >
< OPTION > Bilgisayar < /OPTION >
< OPTION > Hikaye < /OPTION >
< OPTION > Şiir < /OPTION >
< OPTION > Roman < /OPTION >
< /select >
< input type= "submit" value= "Gönder >
< /FORM >
< /BODY >
< /HTML >


Şimdi bu formdan gönderilen verileri işleyen ASP kodunu oluşturalım:

Kitap istek formu : < BR >

<%
if Request. Querystring("Konular").count= 0 then Response.write "Herhangi bir konu seçmediniz."
ELSE
Response.write size seçmiş olduğunuz "&"< BR >
Response.Write Request. Querystring ("konular")
Response.write "hakkında broşür yollayacağız. Teşekkürler"
END IF
%>



Kod Nasıl Çalışır:
İlk form basit bir html formudur. Selectbox butonun oluşturulması için kullanılmıştır. <select....multiple> yer alan multiple seçeneği CTRL tuşuna basılarak birden fazla seçim yapılmasına olanak tanır. ASP içersinde yer alan Request.Querystring("konular").count=0 şartı eğer hiçbir konu başlığı seçilmemiş ise devreye girer. Eğer kullanıcı formda seçim yapmış ise ELSE şartı devreye girer ve seçilen konu başlıkları ekrana yazılır.

FORM KOLEKSİYONU

Eğer form içerisinde gönderilen bilgiler POST metodu kullanılarak gönderilmiş ise bu bilgiler FORM koleksiyonu içerisinde yer alır. Bu bilgiler request .FORM kullanarak kontrol edilebilirler. Genel kullanımı:
Request. Form ("kontrol_adi") şeklindedir.
Form nesnesi içerisinde textbox dışında aşağıda ki elemanlarda bulunabilir. Bunlar:
· Textbox
· Checkbox
· Option Buttons
· Listbox ve türevleri
· Hidden Fields
· Text Areas
Tüm bu elemanların oluşturulması ile ilgili bilgileri herhangi bir HTMl öğreten siteden öğrenebilirsiniz. Formun POST metodu ile gönderilen bilgiler HTML veri akışı içerisinde kullanıcıya gönderilir, bilginin iletilmesi için browser ın adres hanesi kullanılmaz. Bir önceki örneği form koleksiyonu ile oluşturmak isteseydik ;
Request.Form ("Konular") şeklinde bir değişiklik yapmamız yeterli olacaktı.

CLIENTCERTIFICATE KOLEKSİYONU


Web browser, web server ile Secure (SSL) bağlantısı üzerinden bağlantı kurmak istediğinde bu işlem dijital sertifikalar üzerinden sağlar. Bu dijital sertifika bağlantı yapılan web server ve organizasyon hakkında gerekli bilgileri taşır bu CA Certificate Authority olarak bilinir. Bu işlem bilgilerin güvenli bir bağlantı üzerinden aktarılmasını sağlar bilgi aktarımı SSL, Secure Sockets Layer protokolü üzerinden gerçekleştirilir. SSL, Http protokolünün daha güvenli hale getirilmiş bir varyasyonudur. En son versiyonu SSL 3.0/PCT 1 dir. (PCT: Private Communication Technology) Clientcertificate de bir koleksiyon meydana getirir ve bu koleksiyona:

<%
For Each Key in Request. ClientCertificate
Response.Write ( Key & " : " & Request.ClientCertificate (key) & "<BR>")
Next
%>


şeklinde ulaşabilirsiniz.
Bu koleksiyonda yer elemana ise ; Request. ClientCertificate (Key) şeklinde ulaşabilirsiniz. İlerleyen bölümlerde ClientCertificate ile ilgili daha ayrıntılı bilgilere ve örneklere yer verilecektir.

Request Nesnesinin Özellikleri ve Metotları

Request nesnesi koleksiyonun dışında da bazı özel özellik ve metotlara sahiptir. Bu özelliklere ve metotlara göz atalım .

TotalBytes Özelliği
Bu özellik browser tarafından gönderilen bilginin toplam olarak kaç byte olduğunu bulmak için kullanılır. Aşağıda ki kod gönderilen bilginin kaç byte olduğunu ekrana yazar

<%
Response.Write "Göndermiş olduğunuz Bilgi:"
Response.Write Request.TotalBytes & "dır"
%>


BinaryRead Metodu

BinaryRead metodu POST ile server a gönderilen bilgilerin alınması için kullanılır. Form ve querystring metodlarında farklı olarak text dışında veri gönderildiğinde bu metod bu verilerin okunması için kullanılır. Daha önce anlatılan TotalBytes özelliği bu metoda parametre olarak sunulur. Aşağıda verilen kodu inceleyelim

<%
Dim Dosya_boyutu, Oku
Dosya_boyutu=Request.Totalbytes
Oku=Request.BinaryRead(Dosya_boyutu)
For i= 1 to Dosya_boyutu
Response.Write MidB (oku, i, 1)
Next
%>


MidB , Mid fonksiyonuna benzeyen fakat düzensiz oluşturulmuş bilgileri oluşturulmuş bilgileri okumak için kullanılan bir text fonksiyonudur. (Aslında N boyutlu dizi haline getirilmiş veriler demek daha doğru olur. ) Bu fonksiyon döngü içerisinde her defasında bir karakter okunur ve bu karakter ekrana yazılır.
Cevapla
  • Benzer Konular
    Cevaplar
    Görüntüleme
    Son mesaj

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 4 misafir