Bu örnekte iki ayrı döngü ile çift ve tek yılların sıralamasını görüyoruz.
<p>Tek Yıllar
<select name="select" id="select">
<% for i=1901 to 2010 step 2 %>
<option value="<%=i%>"><%=i%></option>
<% next %>
</select>
</p>
<p>Cift Yıllar
<select name="select2" id="select2">
<% for i=1900 to 2010 step 1 %>
<option value="<%=i%>"><%=i%></option>
<% next %>
</select>
</p>
Do While Asp döngüsü
Do while dögüsü bu döngü kontrollü bir dögüdür.Örnekte 20 den küçük olup olmadığına bakıyor i 1 artarak 20 ye kadar kontrol edilerek dönüyor.Yani döngünün devamı şartın sağlanıp sağlanmadığına bakılarak sağlanır.loop burada döngünün başa dönmesini sağlar.
<%
i=1Do while i<20
response.write(i)
response.write("<br>")
i=i+1
loop
%>
For each
for each i in request.servervariables ile değerlerinin listesini ve içeriğini verecektir. Yani bize bu örnekteki gibi bilgisayarımızla ilgili bilgiler verecektir.
Seklınde Bi sorguda ise form un name="" kısmındaki ciktiyi verir size tabi şu an formunuz varsa...
<%
formdangelenbilgiler = ""
For Each x In Request.Form()
Response.Write x &"<br />"
Next
%>
Seklınde Bi sorguda ise form un name="" kısmındaki ciktiyi verir size tabi şu an formunuz varsa...
<%
formdangelenbilgiler = ""
For Each x In Request.Form()
Response.Write x &"<br />"
Next
%>
Request Querystring
Kişisel bilgileri yazıpta gönderilen bir form request.querystring bilgi toplamak amaçlı kullanılır.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.
Eğer bilgi Form içerisinde "POST" metodu ile gönderiliyor ise bilginin elde edilmesi için kullanılan bir metodudur.
Örneğimiz formdan post methodu ile gelen verileri okumaya yarar. Else komutu ile yazılan bir komut yok ise listelenecek kayıt yok yazmasını sağlar.
Yapılışı :ilk olarak bir form oluşturun buna benzer. formda method a "post" action da "foreachform.asp?cmd=listele" yazın. altına asp kodları yazın. Localhost a http://localhost/foreachform.asp yazarak çalıştırın. Bu arada burdaki göndere tıklamayın :D:D
Asp kodları
Eğer bilgi Form içerisinde "POST" metodu ile gönderiliyor ise bilginin elde edilmesi için kullanılan bir metodudur.
Örneğimiz formdan post methodu ile gelen verileri okumaya yarar. Else komutu ile yazılan bir komut yok ise listelenecek kayıt yok yazmasını sağlar.
Yapılışı :ilk olarak bir form oluşturun buna benzer. formda method a "post" action da "foreachform.asp?cmd=listele" yazın. altına asp kodları yazın. Localhost a http://localhost/foreachform.asp yazarak çalıştırın. Bu arada burdaki göndere tıklamayın :D:D
Girilen
Asp kodları
<%
if request.querystring("cmd")="listele" then
for each i in request.form
response.write(i)
response.write(":")
response.write(request.form(i))
response.write("<br>")
next
else
%>listelenecek kayıt yok
<%end if
%>
Fso Nesneleri Copy
Fso nesnelerinden dosya kopyalam örneği calıştığı bilgisayardaki tüm dosyalra ulaşabilir.Fso da dosyaları ,klasörleri kopyalama taşıma
vs işlemlerini yapabiliriz.
<%
<% set fso = createobject("scripting.filesystemobject")
fso nun çalışması için createobject... oluşturduk. 2. satırda set fso .... "C" nin içindeki "mrt" klasörünün içindeki dosyları "mcd" dosyasının içine kopyalarız.
vs işlemlerini yapabiliriz.
<%
set fso=createobject("scripting.filesystemobject") %>
<% set fso = createobject("scripting.filesystemobject")
fso.copyfile "c:\mrt\*.*","c:\mcd\",true %>
fso nun çalışması için createobject... oluşturduk. 2. satırda set fso .... "C" nin içindeki "mrt" klasörünün içindeki dosyları "mcd" dosyasının içine kopyalarız.
Klasör kopyalaması
Örneğimizde c nin içindeki mrt klasörünü mcd kopyalama işlemi
<%
<%
set fso = createobject("scripting.filesystemobject")
fso.copyfolder "c:\mrt","c:\mcd\",true
%>
Dosya silme
Bu örneğimizde; mrt klasörünün içindeki asd.txt dosyasını siler fso.deletefile ile.
<%
<%
set fso = createobject("scripting.filesystemobject")
fso.deletefile "c:\mrt\asd.txt"
%>
Dosya yolu belirlenmesi
getparentfoldername dosyanın yolunu belirtir
<%
fso.GetExtensionName("c:\mrt\sanane.xls")
<%
set fso = createobject("scripting.filesystemobject")
fso.GetExtensionName("c:\mrt\sanane.xls")
%> <br> <%
response.write(fso.getfilename("c:\mrt\sanane.xls"))
%> <br> <%
response.write(fso.getparentfoldername("c:\sanane\x\y\sanane.xls"))
%>
GetFile Dosya Nesnesini
Yol üzerindeki dosya nesnesini verir Getfile
<%
set fso = createobject("scripting.filesystemobject")
fso.GetExtensionName("c:\mrt\sanane.xls")
%>
<%
response.write(fso.getfilename("c:\mrt\sanane.xls"))
%>
<%
set fso = createobject("scripting.filesystemobject")
fso.GetExtensionName("c:\mrt\sanane.xls")
%>
<%
response.write(fso.getfilename("c:\mrt\sanane.xls"))
%>
Form gönder
Bu örneğimizde formdan yazı gönderme basit bir şekilde inceliyeceğiz. Basit bir form oluşturuyoruz örnekteki gibi... form.asp olarak kayıt edin.
Örnek Form ; form.asp olarak kayıt edin
Form
Sonra gonder.asp oluşturun.Açıklma; Request.form (Request objesi bilgi toplamak amaçlı kullanılan bir objedir) bilgileri cekiyoruz. objmail (Mail göndermemizi saglayan sunucu nesnesi) objJmail.MailServerUserName gönderilen yer/host xxx.asp ye gönderiyorum siz onu değiştirebilirsiniz hata olabilir çünkü.
gonder.asp dosya içeriği
<%
On Error Resume Next
objJmail.Charset = "ISO-8859-9" 'mail charset kodu
objJmail.AddRecipient "xxx.asp" 'gönderilecek adres
Set objJmail = Nothing
<head>
Örnek Form ; form.asp olarak kayıt edin
Sonra gonder.asp oluşturun.Açıklma; Request.form (Request objesi bilgi toplamak amaçlı kullanılan bir objedir) bilgileri cekiyoruz. objmail (Mail göndermemizi saglayan sunucu nesnesi) objJmail.MailServerUserName gönderilen yer/host xxx.asp ye gönderiyorum siz onu değiştirebilirsiniz hata olabilir çünkü.
gonder.asp dosya içeriği
<%
isim = request.form("isim")
baslik = request.form("baslik")
email = request.form("email")
mesaj = request.form("mesaj")
On Error Resume Next
Set objJmail = Server.Createobject("JMail.Message")
objJmail.Charset = "ISO-8859-9" 'mail charset kodu
objJmail.From = email
objJmail.MailServerUserName = "xxx.asp" 'mail kullanıcı adınız
objJmail.MailServerPassWord = "sifre" 'mail şifreniz
objJmail.Subject = baslik
objJmail.AddRecipient "xxx.asp" 'gönderilecek adres
objJmail.Body = mesaj
objJmail.Send("xxx.asp")
Set objJmail = Nothing
%>
<html>
<head>
<title>Mail Gönderildi</title>
</head>
Asp değişkenler
İlk dersimize başlayalım. Örneğimizde değişkenler tanımlanmış çıktı olarak blogspot verilecektir. Neden mi ?? Çünkü asp bir değişkendir eğer " içine alınsaydı asp olarak çıkardı burada asp="blogspot" olarak atanmış...
<%
dim asp
asp= "blogspot" %>
<% response.write(asp) %>
Klasor içinde tasıma Movefile
Klasör içinde dosya taşıma Movefile nesnesi ile yapılmakta.Burada c:\mrt\ içindeki sanane.txt dosyasını c:\mrt\bry klasörüne taşımaktadır. Bütün olay mrt klasörünün içinde gerçekleşmektedir.
<%
<%
set fso = createobject("scripting.filesystemobject")
fso.movefile "c:\mrt\sanane.txt","c:\mrt\bry\"
%>
Rastgel Dosya Olustur Gettemp
Asp de rastgele dosya oluşturma gettemp nesnesi ile yapılmakta. Burada c:\sanane\x\ klasörünün içine rastgele .tmp uzantılı dosya üretir.
<%
fso.GetExtensionName("c:\mrt\sanane.xls")
response.write(fso.gettempname)
<%
set fso = createobject("scripting.filesystemobject")
fso.GetExtensionName("c:\mrt\sanane.xls")
%> <br> <%
response.write(fso.getfilename("c:\mrt\sanane.xls"))
%> <br> <%
response.write(fso.getparentfoldername("c:\sanane\x\y\sanane.xls"))
response.write(fso.gettempname)
%>
Döngüler for - next
Bu yazımda asp de for next dögüsünü açıklayacağım. Örnekte 1 den 100 e kadar olan sayıları 2 şerli atlayara ekrana yazan programdır. Neden 2 şerli ?... 2 li olmasının sebebi step komutu bu komut yardımı ile 2,3 10 olarak dögümüzü döndürürüz. En sondaki next ise döngünün bir sonraki adıma geçmesini sağlar. (br etiketini koymanın sebebini bilirsiniz alt satıra geçmek)
<%
for i=1 to 100 step 2
Response.write(i)
Response.write("<br>")
next
%>
Dosya Uzantısı GetExtensionName
GetExtensionName ile "C" nin içindeki "mrt" klasöründeki dosyanın uzantısını verir.Burada "mrt" klasörünün içinde "sanane.txt" dosyasının olmasına gerek yok isterseniz "mrt\x\y\sanane.txt olsun ,burada sadece uzantının ne olduğunu verir.
<%
<%
set fso = createobject("scripting.filesystemobject")
fso.GetExtensionName("c:\mrt\sanane.txt")
%>
Dosya varmı yokmu
Dosya varmı yokmu örneğimizde sanane.txt dosyası varmı varsa 'sanane txt dosyası vaarrr...' yoksa 'sanane txt dosyası yokki' yazar.Burada fileExists komutu ile durumuna bakar.
<%set fso=createobject("scripting.filesystemobject")
response.write("sanane txt dosyası vaarrr...")
<%set fso=createobject("scripting.filesystemobject")
dosyadurumu= fso.fileExists ("c:\mrt\sanane.txt")
response.write(dosyadurumu)
if dosyadurumu= true then
response.write("sanane txt dosyası vaarrr...")
else
%> <br> <%
response.write("sanane txt dosyası yokki.")
end if
%>
Klasör oluştur sil
Tek link ile klasör oluturup oluşturlan klasörü silme ,klasör oluştuktan sonra durmunu altta true değer verir klasör yoksa durumu false verir
<%
if request.QueryString("cmd")="folderdelete" then
<%
set fso=createobject("scripting.filesystemobject")
klasordurumu=fso.folderexists ("c:\mrt\sanane")
if request.QueryString("cmd")="foldercreate" then
fso.createfolder "c:\mrt\sanane"
folderdurum="sanane klasör oluştu"
response.Redirect("folderk.asp")
end if
if request.QueryString("cmd")="folderdelete" then
fso.deletefolder "c:\mrt\sanane"
folderdurum="sanane klasör silindi"
response.Redirect("folderk.asp")
end if
%>
<% if klasordurumu=false then %>
<p><a href="folderk.asp?cmd=foldercreate">klasör oluştur</a></p>
<% end if %>
<% if klasordurumu= true then %>
<p> <a href="folderk.asp?cmd=folderdelete">klasör sil</a></p>
<% end if %>
folderdurumu:<% =klasordurumu %>
Asp de komutu Arama
Bu örnekte fso.folderexists ile mrt klasörünün içindeki "sanane" klasörünü ara yapar ,klasör varsa true yoksa false cevabını verir.
<% set fso=createobject("scripting.filesystemobject")
<% set fso=createobject("scripting.filesystemobject")
response.write(fso.folderexists("c:\mrt\sanane")) %>
Klasör oluşturma silme
Klasör oluşturma silmei linkler yardımı ile yapılan örneği görüyoruz. Burada 2 adet link oluşturuyoruz. "mrt" klasörünün içineki "sanane" klasörünü linklere ile silip oluşturabiliriz.
<p><a href="folderdelcrt.asp?cmd=foldercreate">klasör oluştur
<p><a href="folderdelcrt.asp?cmd=foldercreate">klasör oluştur
</a></p>
<p> <a href="folderdelcrt.asp?cmd=folderdelete">klasör sil</a></p>
<%
set fso = createobject("scripting.filesystemobject")
if request.querystring("cmd") = "foldercreate" then
fso.createfolder "c:\mrt\sanane"
end if
if request.querystring("cmd") = "folderdelete" then
fso.deletefolder "c:\mrt\sanane"
end if
%>
Klasör oluşturma
"C" içine "mrt" adında klasör oluşturur, fso.createfolder .
<%
<%
set fso = createobject("scripting.filesystemobject")
fso.createfolder "c:\mrt\"
%>
Kullanıcı Girişli Site
Kullanıcı Girişli Site session yardımı ile bir panel yapacağız...
İlk olarak 3 tane .asp dosyası oluşturuyoruz(index.asp,sitem.asp,password.asp).index te kullanıcı girişi,password ve benihatırla(cookie) olacak. index.asp içeriğini aşagıda verdim... bu konu yazı ile anlatılamayacağından dolayı yazmıyorum kusura bakmayın tüm dosyanın içeriğini verdim kopyalayarak çalıştırabilirsiniz. Örn; Kullanıcıadı : aspdiliogren Şifre: 123 uygulayarak kendiniz öğrenmenizi tavsiye ederim.
index.asp
-------------------------------------------------------------------------------------
<% if request.Cookies("sifrehatirla")="logontrue" then
<body>
-------------------------------------------------------------------------------------
sitem.asp
-------------------------------------------------------------------------------------
<% if session("username")="False" or session("password")="False" then
-------------------------------------------------------------------------------------
password.asp
-------------------------------------------------------------------------------------
<% if (request.form("username")="aspdiliogren" and request.form("password") ="123") then
-------------------------------------------------------------------------------------
İlk olarak 3 tane .asp dosyası oluşturuyoruz(index.asp,sitem.asp,password.asp).index te kullanıcı girişi,password ve benihatırla(cookie) olacak. index.asp içeriğini aşagıda verdim... bu konu yazı ile anlatılamayacağından dolayı yazmıyorum kusura bakmayın tüm dosyanın içeriğini verdim kopyalayarak çalıştırabilirsiniz. Örn; Kullanıcıadı : aspdiliogren Şifre: 123 uygulayarak kendiniz öğrenmenizi tavsiye ederim.
index.asp
-------------------------------------------------------------------------------------
<% if request.Cookies("sifrehatirla")="logontrue" then
session("username")="true"
session("password")="true"
response.Redirect("sitem.asp")
end if
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-9" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {color: #FF0000}
.style2 {color: #000033}
-->
</style>
</head>
<body>
<form name="form1" method="post" action="password.asp">
<table width="219" border="0">
<% if request.QueryString("logon")="izinsiz" then %>
<tr>
<th colspan="2" scope="col"><span class="style2">İzinsiz Sayfaya ulaşmak İstiyorsunuz</span></th>
</tr>
<% end if %>
<% if request.querystring("logon")="false" then %>
<tr>
<th colspan="2" scope="col"><span class="style1">Kullanıcı Şifre Hatalı</span></th>
</tr>
<% end if %>
<tr>
<th width="63" scope="col">Kullanıcı Adı</th>
<th width="146" scope="col"><input type="text" name="username" id="username"></th>
</tr>
<tr>
<th scope="row">Şifre</th>
<td><input type="password" name="password" id="password"></td>
</tr>
<tr>
<th scope="row"> </th>
<td><input type="submit" name="button" id="button" value="Giriş"></td>
</tr>
<tr>
<th scope="row">Beni Hatırla</th>
<td><input name="cookie" type="checkbox" id="cookie" value="hatirla"></td>
</tr>
</table>
</form>
</body>
</html>
-------------------------------------------------------------------------------------
sitem.asp
-------------------------------------------------------------------------------------
<% if session("username")="False" or session("password")="False" then
response.redirect("index.asp?logon=izinsiz")
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-9" />
<title>Untitled Document</title>
</head>
<body>
burası sitem .asp hhee ee as
</body>
</html>
-------------------------------------------------------------------------------------
password.asp
-------------------------------------------------------------------------------------
<% if (request.form("username")="aspdiliogren" and request.form("password") ="123") then
session("username")="true"
session("password")="true"
if request.form("cookie")="hatirla" then
response.cookies("sifrehatirla").expires=date()+15
end if
response.redirect("sitem.asp")
else
session("username")="false"
session("password")="false"
response.redirect("index.asp?logon=false")
end if
%>
-------------------------------------------------------------------------------------
IIS Kurulumu ve Yazma İzni
ASP sayfalarını HTML dosyaları gibi çaliştıramıyorsunuz malesef bunun için server da denemeniz lazım.Denediğiniz server'in da ASP destekli olmasi lazım.O yüzden yaptıklarımızı hemen IIS'de deneyebiliriz.Yaptığınız her değişikliktikten sonra server'a bağlanıp upload yapmak zorunda kalmayacaksınız.
ASP dosyalarınızı eger IIS'i kurulumunda başka yere kurmadıysanız "C:\intepub\wwwroot" dizinine atacaksınız ve bakmak içinde Internet Explorer'ınızı çalıştırıp adres çubuğunuza "http://localhost" yazarsanız wwwroot klasöründekileri internet'teki bir server'da görür gibi görürsünüz.
IIS (Internet Information Server)'i bilgisayarınıza kurmak için denetim masasından program ekle-kaldır sekmesine gelerek ordan IIS'i seçmeniz yeterli olcaktır.Sizden XP cd sini isteyecektir.Kurulum'u kolaydır.Windows XP'de klasörlere yazma izni olmadığı için veritabanına ne yazma izni ne de silme iznimiz olcak.Bu yüzden veritabanının olduğu klasöre yazma izni vermemiz gerekiyor.Tavsiyem IIS'inizi default yoluna kurmanız.
Kurulum'u yaptıktan sonra "C:\inetpub\wwwroot" klasörüne veya veritabanınızın olduğu klasöre sağ tıklayın ve özellikler diyip Güvenlik(Security) sekmesine girin.
Eger güvenlik bölümü yoksa bilgisayarıma girin.Yukarıda Araçlar sekmesinde Klasör Seçeneklerini bulun.Ona girdikten sonra gene yukarıdan görünüm bölümünü seçin.Asagidaki Listede en altta "Basit dosya paylaşımını kullan("Use simple file sharing")" seçeneğinin işaretini kaldırın ve uygula diyin ve tamam diyip bitirin.Artık güvenlik(security) bölümünün gelmesi lazim.Yukarıdan güvenlik sekmesine gelin ve orda Hesab(IUSR_BilgisayarinizinAdi) eğer listede varsa onu seçip alt kısımdan Modify'ye izin vermeniz yetecektir.
Modify(Düzenleme, yukaridan 2.cidir)'ye izin verince(işaret koyarak) diger kutularında işaretlenmesi gerekiyor otomatik.
Eğer bu IUSR_PcAdı hesabı yoksa sağ altta gelişmiş komut düğmesine tıklayın açılan pencereden sol tarafdaki Ekle düğmesine tıklayın.
Gelen pencereden gene gelişmiş düğmesine tıklayın.
Sonraki gelen pencerede sağ'daki Hemen Bul(Find Now) düğmesine tıklayın asağıdaki listeden IUSR_PcAdı'ni seçip tamam diyin.
Sonra 2 kere üst üste gelen pencereye tamam diyerek geçin ve en başa dönmüş olcaz ve orda artık listede IUSR_PcAdi olmuş olcak ona basarak ve alttan Modify'ye basarak hepsine izin verin.
Böylece IIS'imiz sorunsuz çalışacaktır.
Birde
Örnek olarak uyekayit.open uyekayit_sql,cbm,1,3 1 ve 3 sayılarını koymanız gerekiyor
Kaynak www.asprehberi.net
ASP dosyalarınızı eger IIS'i kurulumunda başka yere kurmadıysanız "C:\intepub\wwwroot" dizinine atacaksınız ve bakmak içinde Internet Explorer'ınızı çalıştırıp adres çubuğunuza "http://localhost" yazarsanız wwwroot klasöründekileri internet'teki bir server'da görür gibi görürsünüz.
IIS (Internet Information Server)'i bilgisayarınıza kurmak için denetim masasından program ekle-kaldır sekmesine gelerek ordan IIS'i seçmeniz yeterli olcaktır.Sizden XP cd sini isteyecektir.Kurulum'u kolaydır.Windows XP'de klasörlere yazma izni olmadığı için veritabanına ne yazma izni ne de silme iznimiz olcak.Bu yüzden veritabanının olduğu klasöre yazma izni vermemiz gerekiyor.Tavsiyem IIS'inizi default yoluna kurmanız.
Kurulum'u yaptıktan sonra "C:\inetpub\wwwroot" klasörüne veya veritabanınızın olduğu klasöre sağ tıklayın ve özellikler diyip Güvenlik(Security) sekmesine girin.
Eger güvenlik bölümü yoksa bilgisayarıma girin.Yukarıda Araçlar sekmesinde Klasör Seçeneklerini bulun.Ona girdikten sonra gene yukarıdan görünüm bölümünü seçin.Asagidaki Listede en altta "Basit dosya paylaşımını kullan("Use simple file sharing")" seçeneğinin işaretini kaldırın ve uygula diyin ve tamam diyip bitirin.Artık güvenlik(security) bölümünün gelmesi lazim.Yukarıdan güvenlik sekmesine gelin ve orda Hesab(IUSR_BilgisayarinizinAdi) eğer listede varsa onu seçip alt kısımdan Modify'ye izin vermeniz yetecektir.
Modify(Düzenleme, yukaridan 2.cidir)'ye izin verince(işaret koyarak) diger kutularında işaretlenmesi gerekiyor otomatik.
Eğer bu IUSR_PcAdı hesabı yoksa sağ altta gelişmiş komut düğmesine tıklayın açılan pencereden sol tarafdaki Ekle düğmesine tıklayın.
Gelen pencereden gene gelişmiş düğmesine tıklayın.
Sonraki gelen pencerede sağ'daki Hemen Bul(Find Now) düğmesine tıklayın asağıdaki listeden IUSR_PcAdı'ni seçip tamam diyin.
Sonra 2 kere üst üste gelen pencereye tamam diyerek geçin ve en başa dönmüş olcaz ve orda artık listede IUSR_PcAdi olmuş olcak ona basarak ve alttan Modify'ye basarak hepsine izin verin.
Böylece IIS'imiz sorunsuz çalışacaktır.
Birde
Örnek olarak uyekayit.open uyekayit_sql,cbm,1,3 1 ve 3 sayılarını koymanız gerekiyor
Kaynak www.asprehberi.net
Kaydol:
Kayıtlar (Atom)