For döngüsü ile yıllar

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.

<%
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



Adın


Soyadı


Mail


Telefon








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") %>


<% 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

<%

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"))
%>

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





Adınız :

Mail Başlık :

Mail Adresiniz :

Mesajıınız :








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.

<%

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")

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

<%

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")

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

</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

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">&nbsp;</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