Murat TATAR God saves lost souls , I save lost passwords

7Nis/110

Form Elemanları

FORM Elemanları
FORM KOLEKSİYONU

Textbox
Checkbox
Option Buttons
Listbox ve türevleri
Hidden Fields
Text Areas

ACTION=url
METHOD=get-post
TARGET=Hedef Pençere
Name= Değisken

"Method", kullanıcının girdiği bilgileri ne şekilde alacağımızı belirler. iki seçeneği vardır, “Get” ve “Post”.
Post ve Get form sayfasına girilen verileri başka bir sayfaya gönderme metodlarıdır.

Post ile hem daha fazla veri gönderilebilindiği gibi gönderilen veriler adres satırında gözükmez. Eğer formda güvenlik gerektiren şeyler varsa Post kullanılır.

Get ile sınırlı veri gönderilir ve gönderilen veriler adres satırında kullanıcı tarafından görülür.

Post, Get'e göre daha fazla bellek harcar bu yüzden post metodu get metodundan daha yavaştır.

POST
1-)Yavas
2-) Güvenli
3-) http header’ı kullanır.
4-) Sınırsız bilgi gönderir

GET
1-) Hızlı
2-) Güvensiz
3-) Browser’in adres satırını kullanır.
4-) Max 2048 karekter gönderebilir

Etiketler: , , Yorum yok
7Nis/110

Mail Hazırlama-CDO ile mail yollama

Form Mail
Örnek:



MAIL GONDER

Isim :
Mail :
Konu :
Mesaj :



CDO İLE MAIL YOLLAMA
En yaygın mail gonderme bileşenidir

mail.asp (CDO ile)

<% ' formdan içerik al isim = Request.form("isim") mail = Request.form("mail") konu = Request.form("konu") mesaj = Request.form("mesaj") ' mektup kime gidecek abisi kime = "admin@site-adi.com" ' bir CDO Newmail nesne ornegi yarat Set mektup = Server.CreateObject("CDONTS.NewMail") ' çok açik, geleneksel atamalar mektup.From = isim & " <" & mail & ">"
mektup.To = kime
mektup.Subject = konu
mektup.Body = mesaj
' hata olursa mizikçilik yapmadan devam et
on error resume next
' ve sadede geldik.
mektup.Send
' hata olusursa

If err <> 0 Then
hata = err.description
Response.Write "hata oldu: " & hata
Else ' is temizse
tebrik = "Mailiniz yolladı"
Response.Write tebrik
End If
' açtigin nesneyi kapa...
Set mektup = Nothing
' bitti
%>

Incoming search terms:

Eğlence ürünleri mail
7Nis/110

Server Nesnesi Uygulama

Server Nesnesi Uygulama
Server ( Sunucu )

ASP, Web Server programını bir nesne olarak ele alır ve onun bize sağladığı araçları ve imkanları kullanmamızı sağlar. Web Server, ASP için bir nesnedir, ASP’nin bir çok işini bu nesnenin özellikleri ve metodları halleder. Server nesnesinin bir özelliği (ScriptTimeout) ve dört metodu (CreateObject, HTMLEncode, URLEncode, MapPath) vardır. Web Server çalıştığı bilgisayarın sizin siteniz adına yönetiminden sorumludur; dolayısıyla bu kadar az özellik ve metodu var diye bu nesneden çok yararlanmayacağımızı sanmayın. ActiveX ve COM bileşenlerini çalıştırmak Server’ın görevidir.
Server Script Time Out
Bir sayfa içindeki script lerin belli bir süre içerisinde çalışması bekletilir.Bu süreyi kendiniz degiştirmediginiz ürece 90Sn dir.Yani 90 Sn içerisinde tamamlanmazsa çalışması durdurulur.

Bunu degiştirmek için ise:

<% Server.ScriptTimeout = 145 %>

Bölelikle çalışma süresini 145 Sn çıkartmış oluruz bunu degiştire bilirsiniz.

Böyle bir şeyi neden yapmak isteyebiliriz? Script'iniz çok karmaşık veya başka bir Server'daki veritabanından veri çekiyor, olabilir. Gerçi bu anlamda 90 saniye bilgisayar milleti için bir asır anlamına gelir, ama yine de durdurulmasaydı işini başarıyla tamamlayacak bir Script, bu sürenin kısalığı yüzünden Server tarafından durdurulabilir. ASP sayfalarınız çok karmaşıksa ve sürekli Timeout hatası veriyorsa, hata aramadan önce bu süreyi uzatabilirsiniz.
Server.MapPath :
MapPath (Yolu belirle)

Web Server açısından “kök dizin” (root directory) Server’ın bulunduğu bilgisayarın sabit diskinde, herhangi bir klasör olabilir.

Örneğin IIS için bu varsayılan değer olarak “C: netbupwwwroot” klasörüdür. Özellikle ASP ile “program niteliğinde siteler” yapmaya başladığımızda, sitenin ilgili bütün dosyalarının bulunduğu bir dizin için yol belirlemek isteyebiliriz. Bunu Server nesnesinin MapPath (Yolu belirle) metodu ile yapabiliriz:

WebDizini = Server.MapPath(“/benim_site”)

Bu komutla WebDizini değişkenin değeri muhtemelen şöyle olacaktır:

“C: netbupwwwrootbenim_site”
Server.CreateObject :
createObject(ObjectID)

Diyelim ki sayfanızda reklam amaçlı banner grafiklerini belirli zaman aralığı ile veya ziyaretçiye gönderdiğiniz Cookie (çerez) bilgilerine göre değiştirmek istiyorsunuz. Bunun için diyelim ki MS-Web Server Programının AdRotator bileşininden yararlanacaksınız; şöyle bir kod işinizi görebilir:

<% Set Reklam = Server.CreateObject (“MSWS.AdRotator”)%>
<%= Reklam.GetAdvertisement(“/reklamlar/buyukbanka.txt”)%>

Burada GetAdvertisement, Server’ın AdRotator bileşininin bir metodudur. Server’ın CreateObject metodundan, veritabanına ulaşırken de yararlanacağız.

<% Set BenimDB = Server.CreateObject("ADODB.Connection") %>

ÖRNEK

<% '-- Bu kod ile veritabanı nesnesi tanımlandı. İstenirse burada serverde kayıtlı olan DLL dosyalar da tanımlanabilir. Set Nesne=Server.CreateObject("ADODB.Connection") %>
HTMLEncode, URLEncode:
İçinde HTML açısından kod parçası veya özel işaret sayılan karakterler bulunan metinleri sayfamıza içerik olarak göndereceğimiz zaman Server'ın işaretleri aynen metin gibi göndermesini sağlamak için, örneğin:

Server.HTMLEncode("Değisken1 < Değisken2") yazarsak, ASP bu metni HTML kodu olarak yorumlamaz, metin olarak algılar. Internet'te bazen özellikle sayfa adresleri belirtilirken bazı değerlerin "URL Kodu" dediğimiz şekilde kodlanmış olarak gönderilmesi gerekir. Bu kodlama türünde boşlukların yerine + işareti konmuş olması şarttır. Bu tür bilgiler göndereceğimiz zaman: Server.URLEncode("kelime 1 kelime2 kelime3") şeklindeki bir kod Bunu hemen şu şekle sokacaktır: kelime1+kelime2+kelime3

6Nis/110

AdRotator Nedir

AdRotator Nedir
AdRotator

Adrotator sayfalarımizda görüntülenmek için alınan bannerlerin hangi sırayla, ne kadar sıklıkla gosterılecegini bildiren, bu bannera tıklandıgında, reklamı veren url' ye yönlendırmeyi yapan komponenttir.

Bir uygulama ile nasıl yapıldığını açıklayalım.

Öncelikle aşagıda yazılanları ReklamPlan.txt adında root klasörüne kaydedin.

Redirect Reklam.asp
width 462
height 53
border 0
*
Banner1.gif
http://www.nebakiyon.Com
Mynet alt bilgileri
5

Banner2.gif
http://www.sanane.com.Com
Google alt bilgileri
6

Banner3.jpg
http://www.murattatar.net
Yahoo alt bilgileri
1
Şimdi bu textimizde kullandığımız terimleri tanımlayalım.

WIDTH: Bannerlarınızın Genişliğini gireceksiniz.
HEIGHT: Bannerlarınızın Yüksekliğini gireceksiniz.
BORDER: banneri cerceve içine almak istemiyorsak 0 degerini veririz.

İlk Satırda bannerin img adını ve yolunu yazıyorsunuz.
İkinci Satırda,url adresini
Üçüncü satırda ise imajın üzerine gelince çıkacak ALT yazısını.
Dördüncü satırdaki rakamlarımızın toplamı 10'u verir. Bu rakamlar seçili banner'ımızın 10 sayfa gösteriminde kaç kere gösterileceğini belirler...

Redirect Reklam.asp ibaresi, reklama tıklandığında yönlenilecek URL'yi belirtir. ADROTATOR bileşeni, resimlere atadığımız adresi ve resim dosyasının adresini bir string oluşturarak REDIRECT satırındaki adrese gönderir. Bizim bu satırdaki adresimiz reklam.asp

Bu durumda; Örneğin, http://www.yahoo.Com reklamına tıklandığında şu şekilde bir adres oluşacaktır:
http://www.site-adi.com/reklam.asp?url=http://www.yahoo.comI=images/banner3.gif

Bizede reklam.asp dosyasını oluşturup, sayfayı url değişkenindeki adrese yönlendirmek kalıyor. Bu işlemi Response.Redirect(url ) komutunu kullanarak yapacağız.

Şimdi reklam.asp'yi oluşturalım;

<% url=Request.QueryString("url" ) If url<>"" then Response.Redirect(url )
%>

Şimdi de Reklamları gösterim yapacagımız sayfanın kodlarını yazmaya.

<% Set ReklamNesnesi=Server.CreateObject("MSWC.Adrotator" ) ReklamNesnesi.TargetFrame="target='_blank'" ' yeni pencere de actık banner=Reklamnesnesi.GetAdvertisement("banner.txt" ) Response.Write banner %>

6Nis/110

Rastgele Sayı Random

Rastgele Sayı Random
Randomize
Tesadüfî Sayı üretmek
Rastlantısal sayı, bir dizide tekrar etmesi belirli bir düzene tabi olmayan sayı demektir.

VBScript, bu amaçla Randomize ve Rnd bulunur. Randomize, tesadüfî sayı üretme sürecini başlatır; Rnd da bu sayıyı size verir. Kodunuzda bir yerde Rnd kullanacaksınız, ondan önce bir yerlerde mutlaka Randomize komutunun yer alması gerekir. Bunun bir uygulaması şu olabilir:

<% OPTION EXPLICIT %>

<% Dim TesadufiSayi Randomize TesadufiSayi = Rnd %>
<%=TesadufiSayi%>

Bu dosyayı tesadufi.asp adıyla kaydedip çalıştırın; Browser'ın Yenile düğmesini her tıkladığınızda ekranda yeni bir sayı göreceksiniz

6Nis/110

Cookies Çerezler Kurabiyeler

Cookies Çerezler Kurabiyeler
Cookier ve kullanım alanları

Cookie nedir?
Çerezler, Kurabiyeler (cookies)

Cookies ASP de bize çok yardım eden unsurlardır.Ziyaretcinin bilgisayarına not bırakıp daha sonra okumada kullanılır.

Cookie(çerez) ler sayesinde istemcinin bilgisayarında bazı bilgiler saklanabilir

Bu bilgiler kişisel bilgilerin veya sitede o kullanıcıyla ilgili bilgilerin saklanması için kullanılabilirler. Cookie "response" nesnesinin bir koleksiyonudur.

Cookielerde bilgiler isim-değer çiftleri şeklinde tutulurlar kullanıcının bilgisayarına yollanırken de bu şekilde yollanırlar.

Örnek:
response.cookie("isim")="xxx"
Bir cookiede birden fazla alt anahtar bulunabilir.
Örnek:
response.cookie("aaa")("bbb")("ccc")="xxx" ?eklinde...
Cookielerin "expires" adynda bir özeliği vardır Bu şekilde cookienin kulanıcı bilgisayarında hangi tarihe kadar saklanacağı belirtilebilir.

Örnek:
response.cookie("xx").expires="feb 11,2000"
Bu ifade ile bu cookienin 11 şubat 2000'e kadar bilgisayarda saklanacağını belirtilir.

6Nis/110

Response Nesnesi

Response
Response.write

<% %> tagları arasında yazılacak Response.write ifadesiyle sayfaya asp kodları içerisinde yazdıgınız bir yazıyı yada bir değişkeni yazdırabiliriz.

Örnek :

<% degisken="ASP Dersi"%>

<% Response.Write "Merhaba" Response.Write "
"
Response.Write "Active Server Page
"
Response.Write "


"
response.write (degisken)
%>

Response.write ASP'de çok kullanılan bir komuttur <% Response.write , yerine <%= yazarakta kullanabilirsiniz. Örnek : <% degisken="ASP Dersi"%>

<%= "Merhaba"%>
<%="
"%>
<%="Active Server Page
"%>
<%="


"%>
<%= (degisken) %>
Response.Buffer
Buffer (Tampon): Default değeri "true"

<% Response.Buffer = True %>

Asp kodlarının tamamının çalışması beklenir, tüm kodlar işlendikten sonra HTML sayfa toptan gösterilir.

bu degeri false yapmak için;

<% Response.Buffer = False %>
Response.End
End (Son): Sunucu bu satırı gördügünde işlem yapmayı bırakır. Bu satırdan sonraki asp veya html kodlar icra edilmez. Ve o zamana kadar tampon hafıza ki değerleri tarayıcıya gönderir.

Örnek:

<% Response.Write "Nasilsin ASP" Response.End Response.Write "How are you ASP" %>

Çıktı : Merhaba ASP , olur.
Response.Expires
Expires (zaman aşamı süresi): Sayfanın Tarayıcı tarafından cache dizininde ne kadar tutulacağını dakida olarak set etmek için kullanılır.

<% Response.Expires=dakika %>

<% Response.Expires = 60 %>

Bu değere "0" yapılırsa ( Response.Expires=0 ) sayfaya her gelişte sayfa yeniden yüklenir.
ExpiresAbsolute:
Bu sürenin dakika olarak değil tarih veya saat olacak şekilde sayfanın geçerlilik süresini belirlemek için kullanılır.

<% Response.ExpiresAbsolute=#tarih# %>

şeklinde.
Response.Clear
Clear (Boşalt): Sunucu çalışma sırasında bu deyime rastlarsa o zamana kadar tampon bellekteki saklanan bütün bilgileri siler, yok eder.

Not: Response.Buffer= false olarak ayarlı ise Run-time (çalışma zamanı) hataya sebep olur.

Kullanımı :

<% Response.Clear %>
Response.Flush
Flush (hemen gönder), Sunucu çalışma sırasında bu ifadeye rastlarsa , bu ifadeye kadar icra edilmiş kodun sonucunu (Tompon Bellekte Tuttugu Değerleri) HTML’i tarayıcıya gönderir:

<% response.flush %>
Response.Redirect
Bir sayfadayken başka bir sayfaya yönlendirme yapmak için kullanılır.Sunucu çalışma sırasında bu ifadeye rastlarsa çalışmasını durdurur ve belirtilen sayfayı açar.

Kullanımı:

response.Redirect "yönlendirecek Sayfa Sdresi "

Not: Eğer http header client a gönderilmiş ise Response.redirection hataya sebep olmakta .Bu hatayı engellemek için response.Buffer özelliğini true yapmak ve herhangi bir noktada response.clear kullanarak response.Redirection in hata vermesini önlenir.

Örnek:

<% Response.Buffer = true %>



<% Response.Clear Response.Redirect "yonlendirme.asp" %>

6Nis/110

Request.Querystring

Request.Querystring
Request.Querystring
Bu deyim bir sayfadan başka bir sayfaya veya aynı sayfaya değişken yada değişkenlerin taşınmasını sağlar.

veya response.Redirect ile yönlendirdigimiz sayfalara istediğimiz degişkenleri taşır.

Gönder

Bu örnekte link verdigimi telno.asp adresini yazdıktan sonra “?” ile sayfaya taşınacak “telefon_no” kimligine bir deger vererek telno.asp adresine yolluyoruz.

Birden fazla değer göndermek istiyorsak aralarına “&” işaretini koyarız.

Örnek:

Gönder

Telno.asp sayfasında bu gelen verilerileri alabilmesi için aşagıdaki kodlar tanımlanmalıdır.

<% Dim telefon_nosu, ulke_nosu telefon_nosu = Request.QueryString("telefon_no") ulke_nosu = Request.QueryString("ulke_no") %>

<% Response.Write (ulke_nosu) Response.Write (telefon_nosu) %>

Aşagıdaki şekilde de sayfaya bilgiler yazılabilir

<% Response.write("Ülke Kodu : " & Request.querystring("ulke_no") & "")
Response.write("Telefon Nosu : " & Request.querystring("telefon_no") & "")
%>

Request.querystring de Form Kullanımı



Request Querystring Uygulaması

Adıniz :
 

Deneme.asp sayfasına form elemanı textbox value degeri aktarılır.

Şimdi sıra geldi deneme.asp sayfasının kodlarını yazmaya. Burda en önemli nokta textbox form elemanının value degerini almak için name mi kullanılmaktadır.



Request Querystring Uygulaması

<% Response.write("Adınız : " & Request.querystring("ad") & "")
%>

6Nis/110

TextStream Nesnesi

TextStream Nesnesi
Metin Akımı
Web Server ve dolayısıyla ASP açısından sabit diske bir metin yazarken, veya sabit diskten bir metin okurken, bir metin akışı nesnesi oluşur. Bu nesnenin özellikleri ve metodlarını kullanarak, ziyaretçin sitemize bırakacağı form bilgilerini Web Server’ın sabit diskine yazdırabilir veya mevcut metinleri okuyabilir ve bunların içeriğini ziyaretçimize sunabiliriz.

Metin dosyası okumak ve yazmak disk sistemini ilgilendiren bir eylem olduğu için yine Scripting nesnelerinden FileSystemObject nesnesinden yararlanacağız.
Metin Dosyası Oluşturma
(CreateTextFile)
ASP sayfaları sayesinde sunucu üzerinde bir text dosyası oluşturulur yada bu text dosyasına ek yapabiliriz.

Bu sayfa açıldığı anda sunucu üzerinde bir text dosyası oluşturulacak ve içerisine yazı yazılacaktır.

<% Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("c:testfile.txt", True) MyFile.WriteLine("Test Yazımız.") MyFile.Close %>

CreateTextFile (metin dosyası oluştur) bu metoda argüman olarak yeni metin dosyasının yolunu ve adını veriyorduk

WriteLine (satır yaz: bir String’i sonuna yeni satır karakteri koyarak dosyaya yazar)

Close (kapat: açılan metin dosyasını kapatır).

TextStream’in burada kullandığımız ikisinin dışında iki metodu daha vardır:

Write (yaz): Bir String’i dosyaya yazdırır; satır sonuna yeni satır karakteri (Return kodu) koymaz.

WriteBlankLines (boş satır yaz): Bir metin dosyasına argüman olarak vereceğiniz sayıda boş satır yazdırır.
Varolan Metin Dosyasını Açma ve Ek Yapma
(OpenTextFile)
<% Dim DosyaSistemi, MetinDosyasi, Satir Set DosyaSistemi = CreateObject("Scripting.FileSystemObject") Set MetinDosyasi = DosyaSistemi.OpenTextFile("c:yazi_deneme.txt",1, 0) Do Satir = MetinDosyasi.ReadLine %>
<%=Satir%>
<% Loop Until MetinDosyasi.AtEndOfStream MetinDosyasi.Close %>

Set MetinDosyasi = DosyaSistemi.OpenTextFile("c:yazi_deneme.txt",1, 0)

Burada dosya yolunu ve adını veren birinci argümana ek olarak iki yeni argüman görüyorsunuz: “8,0” şeklinde

Bunlardan birinicisi girdi/çıktı durumu (I/O Mode), ikincisi ise biçim (Format) ile ilgilidir. I/O Mode parametreleri şunlardır.

1: okumak için aç
8: eklemek için aç

Açılacak dosyanın biçimini belirttiğimiz son argüman ise şu değerlerden birini alabilir:

0: ASCII dosyası olarak aç
-1: Unicode dosyası olarak aç (Örneğin içinde Türkçe karakterler varsa)
-2: Sistemin varsayılan dosya türü olarak aç

ReadLine. Bu, açılan metin dosyasından bir satır okutmamızı sağlar.
İkinci ve son satırları okutmamızı ise Do..Loop kontrolü sağlar. Bu Döngü AtEndOfStream oluncaya kadar (dosyanın sonuna gelene kadar) devam eder.

Kullanbilecegimiz Diger komutlar;

Read (oku): Bir sayı örgümanı ile çalışır ve verdiğiniz sayı kadar karakter okur.
ReadLine (satır oku): Bir satır okur ve String olarak verir.
ReadAll (tümünü oku): Bütün satırları okur ve tek String olarak verir.
Skip (atla): Bir sayı argümanı ile çalışır ve verdiğiniz sayı kadar karakteri atlar.
SkipLine (satır atla): Bir sonraki satıra atlar.
Bu metodlarla sağladığımız okuma işinin kontrolü amacıyla şu özellikleri de kullanabiliriz:
AtEndOfStream (akımın sonunda): Okutulan dosyanın sonuna gelinmesi halinde True (doğru) olur.
AtEndOfLine (satırın sonunda): Okutulan satırın sonuna gelinmesi halinde True (doğru) olur.

5Nis/110

Server Execute

Server.Execute :
ASP dosyası içerisinden başka bir ASP dosyası çağırmayı sağlar.

ÖRNEK



Benim adım <%Server.Execute("Cagrilan.asp")%> mi?

<'--Cagrilan.asp>
<% response.write "İbrahim" %>

Copy Protected by Chetan's WP-Copyprotect.