Jump to content

Webtasarım ve asp'ye yeni başladıysanız sorularınızı sorabilirsiniz.


Recommended Posts

VbScript’in bir diğer duruma bakarak karar verme ifadesi, select case (durum seç) yapısıdır. Bu kontrol öğesinin nasıl çalıştığını şöyle özetleyebiliriz:

Durum seç 

Durum1: yapılacak işler

Durum2: yapılacak işler

Durum3: yapılacak işler

Durum4: yapılacak işler

Durum5: yapılacak işler

Seçmeyi bitir [/CODE]

Vbscript, verdiğiniz durum listesine veya içinde çeşitli değerler bulunan değişkene bakarak, bu değişkeni bir “durum” sayacak ve verdiğimiz durumlardan hangisini tutuyorsa, ona ait komut dizisini çalıştıracaktır. Yukarıdaki örneğimizi bu kez bu yapıyı kullanarak yazalım.

[CODE]<%

select case Hour(Now)

case 5,6,7,8,9,10,11

response.write “Günaydın!”

case 12,13,14,15,16,17,18

response.write “Tünaydın”

case 19,20,21,22

response.write “İyi akşamlar”

case else

response.write “İyi geceler”

end select



response.write “Sayfamıza hoş geldiniz”

%>
[/CODE]

Select case komutuna, içindeki değerleri “durum” sayacağı dizi veya değişken olarak vbscript’in kullanmaya hazır fonksyonlarından Hour(Now)’ı veriyoruz. Bu fonksyonlardan, 0 ile 24 arasında bir değer dönecektir. Bu değer select case için durum demektir. Select case bu değer ile altta sıralanan case’leri karşılaştıracak ve elindeki değer hangi case’i tutuyorsa ona ait komutlar çalıştırılacaktır. Sonuncu case’e lütfen dikkat edin: burada case olarak else (başka) veriliyor. Bu bizi 22 den 5 e kadar olan saatleri sıralamaktan kurtarır. 22 – 5 arasında kullanıcılarımıza “iyi geceler” diyebiliriz.

Link to comment
Share on other sites

  • Replies 91
  • Created
  • Last Reply

For-Next döngüsü

Programın bir işi belirli kere yapmasını istiyorsak, ona yapacağı işi bir sayaç değişkeni ile birlikte, for döngüsüyle bildiririz.

For sayaç = başlangıç To son Step adım

Yapılacak işler

Next

Burada, “sayaç” yerine istediğimiz bir değişken adını, “başlangıç” yerine sayacın başlatılmasını istediğimiz sayıyı, “son” yerine sayacın durmasını istediğimiz sayıyı, ve “adım” yerine, sayacın kaçar kaçar artmasını istediğimizi yazabilirsiniz. En sondaki next deyimi ise döngünün bir sonraki adıma geçmesini sağlar. Bu adımda sayaç, step kelimesi varsa karşısındaki değer kadar artırılır ve yapılacak işler yeniden yapılır. Bir örnek yapalım.

<% 

Dim gunler

gunler = Array(“Pazartesi”, “Salı”, “Çarşamba”, “Perşembe”, “Cuma”, “Cumartesi”, “Pazar”)



for sayac = 0 to 6

response.write gunler(sayac)

next

%> [/CODE]

Bu asp kodunda, gunler adıyla bir dizi-değişken oluşturuyoruz ve bu değişkenin 7 hanesine, günlerin adlarını atıyoruz. Sonra sayac adlı sayacı 0 dan 6’ya kadar arttırıyoruz (sayacın birer birer artmasını istersek step komutunu yazmayız). Şimdi kendimizi bir an için vbscript yerine koyalım ve birinci adımda yaptığımız işi düşünelim: “hımm.. programcı bey, benim sayac’ı önce 0 yapmamı istiyor; peki sayac 0 olsun. Sonra günler dizi-değişkeninden sayac değeri ile aynı sayıyı taşıyan değişkeni alıp bunu ekrana yazdırmamı istiyor. Peki, gunler (0) ne imiş, bakalım. Hımm gunler (0) Pazartesi imiş. O halde ziyaretcinin ekranına bir Pazartesi kelimesi yazalım. Şimdi sırada next var. Yani sonraki adıma devam edeceğiz, step değeri olmadığına göre sayacı bir artırayım. Sayaç böylece 1 oldu”

Ve böylece vbscript, sayacın son değeri olan 6’ya ulaşıncaya kadar gunler dizi değişkeninden sayacın değerine göre değer seçerek ve bunu ekrana yazdırarak, işini yapacaktır. Bu bakımdan vbscript güvenilir ve çalışkan bir arkadaştır.

Link to comment
Share on other sites

Ne var ki, program mantığı bazen bize böyle açık ve seçik bir sayaç kurma imkanı vermez. Sayaç olarak kullanacağımız değer, programın başka bir bölümü tarafından üretiliyor olabilir. Veya bu değer ziyaretci tarafından belirlenmiş olabilir. Özetle yapılmasını arzu etdiğimiz işin ancak sayaç bir değerden azsa, çoksa ve eşitse yapılmasını, bu durum değişirse durmasını isteyebiliriz. Bunu while (..iken) komutuyla yapabiliriz. While döngüsü kullandığımız zaman sayacı bizim artırmamız gerekir.

Sözgelimi, yukarıdaki programın 7 günün tümünü ekrana yazdırması değil de, mesela gün sayısı 5’den küçük ise yazdırmasını istiyor olabiliriz. Bu durumda kodumuzda for-next arasındaki bölümde şu değişikliği yapmalıyız.

while sayac <= 5 

response.write gunler(sayac)

sayac = sayac + 1

wend [/CODE]

Burada while döngüsünün wend kelimesi ile sonlandığına dikkat edin. While satırındaki sayacı değiştirdik, programın sayaç 5’den küçük veya 5’e eşit ilen çalışmasını sağladık. For’dan farklı bir diğer ifade ise sayacı artıran “sayac = sayac + 1” ifadesidir. Bu ifade ilk bakışta garip görünebilir. Fakat bilgisayar açısından bu “sayacın o anki değerini al, 1 ile topla ve bulduğun yeni değeri sayacın mevcut değerinin üzerine yaz” demektir.

Link to comment
Share on other sites

<% Dim BAG, SQL, Rs, gidilecekKayit,ToplamKayit 
Set Rs = Server.CreateObject("Adodb.Recordset")
SQL = "Select * from yazilar where onay=1"
Rs.Open SQL, BAG,1,3
ToplamKayit = Rs.RecordCount
Randomize
gidilecekKayit = Int((ToplamKayit * Rnd ) + 0)
Rs.Move(gidilecekKayit)
%> [/CODE]

Link to comment
Share on other sites

<% @ Language="VBScript" %>
<% Option Explicit %>
<%
' ASP ActiveX Mail Bileseni Nesnesi (CDONTS, Persits, ASPEmail)
' 16.01.2005 - Sunday
' deathrole[at">msn[dot">com
' ASP Rehberi - www.asprehberi.net

'Hata olursa bir sonraki satirdan devam et.
On Error Resume Next

Dim COMType 'Kullanilacak olam mail bileseni. KULLANACAGINIZ BILESENIN BASINDAKI "'" KALDIRIN !!!
Dim objMail 'Mail göndermemizi saglayan sunucu nesnesi
Dim blnHTMLMail 'Mailin HTML/Text formati
Dim strBody 'Gönderilecek mesaj
Dim YourName 'Nesneye ait gönderenin adi
Dim FromEmail 'Nesneye ait gönderen mail adresi
Dim ToEmail 'Nesneye ait giden mail adresi
Dim MailServer 'Nesneye ait mail sunucusu
Dim MailSubject 'Nesneye ait mail konusu
Dim MailBody 'Nesneye ait mail mesaji

'Degiskenlere degerlerini veriyoruz
'Bilesen seçimini yapin
COMType = "CDONTS"
'COMType = "Persits"
'COMType = "ASPEmail"
blnHTMLMail = True
strBody = "<html><h1>Deneme Yazısı</h1></html>"
YourName = "Deathrole"
FromEmail = "user"
ToEmail = "[email protected]"
MailServer = "mail.domain.com"
MailSubject = "Mail Konusu"
MailBody = strBody


'Mail bilesenimize göre nesnemizi olusturmamiza yardimci olan select ifadesi ile sinama islemi yapiyoruz.
Select Case COMType

'Eger bilesen CDONTS ise,
Case "CDONTS"

'Nesnemizi olusturalim
Set objMail = Server.CreateObject("CDONTS.NewMail")

'Nesnemizin özelliklerini belirliyoruz.
With objMail
If blnHTMLMail then
.MailFormat = HTML
.BodyFormat = HTML
Else
.MailFormat = Text
.BodyFormat = Text
End If
.From = YourName & " <" & FromEmail & ">"
.To = ToEmail
.Subject = MailSubject
.Body = MailBody
.Send
End With


'Eger bilesen Persits ise,
Case "Persits"

'Nesnemizi olusturalim
Set objMail = Server.CreateObject("Persits.MailSender")

'Nesnemizin özelliklerini belirliyoruz.
With objMail
If blnHTMLMail then
.IsHTML = True
Else
.IsHTML = False
End If
.From = FromEmail
.FromName = YourName
.Host = MailServer
.Subject = MailSubject
.Body = MailBody
.Send
End With


'Eger bilesen ASPMail ise,
Case "ASPMail"

'Nesnemizi olusturalim
Set objMail = Server.CreateObject("SMTPsvg.Mailer")

'Nesnemizin özelliklerini belirliyoruz.
With objMail
.FromAddress = FromEmail
.FromName = YourName
.RemoteHost = MailServer
.AddRecipient = ToEmail
.Subject = MailSubject
.BodyText = MailBody
.SendMail
End With
End Select

'Nesnemizi kaldiriyoruz.
Set objMail = Nothing
%>[/CODE]

Link to comment
Share on other sites

MySql veritabanında ders isimli bir databasem ve bu databasemde uyeler adında bir tablom var. Tablomun içinde id (int - auto increment ) , isim ( Varchar 200 ) , telefon ( Varchar 20 ) ve email ( VarChar 20 ) olarak 4 field im var. Ve şu an boş durumda. Bu yüzden ilk veritabanıma veri eklemesi

yapacağım.

Veritabanımızdaki uyeler tablomuza veri ekleyelim. İlk önce formumuzu oluşturalım.

Aşağıdaki kodları default.asp olarak kayıt edelim.

Kod Alanı:

<% 

Response.Write "<form method=post action=kayit.asp>"
Response.Write "İsim : <input type=text name=isim size=20><br><br>"
Response.Write "Telefon : <input type=text name=telefon size=20><br><br>"
Response.Write "E-Mail : <input type=text name=email size=20><br><br>"
Response.Write "<input type=submit value=Gönder>"
Response.Write "</form>"

%> [/CODE]

Form sayfamız oluştu. Şimdi kayıt sayfamızı yapalım. ve aşağıdaki kodları kayit.asp olarak kayıt edelim.

Kod Alanı:

[CODE]<%

' Mysql Veritabanına bağlantı kuruyorum.

Set db = Server.CreateObject("adodb.connection" )
db.Open = "driver={mysql odbc 3.51 driver}; server=localhost; UID=root; pwd=; db=ders;"

' Formdan gelen değerleri alıyorum.

isim=Request.Form("isim" )
telefon=Request.Form("telefon" )
email=Request.Form("email" )

' Formdan gelen değerlerin boş olup olmadıgını kontrol ediyorum.

If isim="" or telefon="" or email="" Then
Response.Write "Formda eksik bilgi bıraktınız.<br><br>"
Response.Write "Geri dönüp kontro lederek tekrar deneyiniz.<br><br>"
Response.Write "<a href=java script:history.back( )>Geri dönmek için tıklayınız.</a>"
Else

' Gelen değerleri kontrol ettik. şimdi kayıt edelim.

Set kayit=db.Execute("insert into uyeler (isim,telefon,email ) values ('" &isim&"','" &telefon&"','" &email&"' )" )

Response.Write " Kayıt başarıyla gerçekleşti.<br><br>"
Response.Write " Tüm kayıtlara bakmak için <a href=kontrol.asp>Tıklayınız.</a>"

End If

%>
[/CODE]

Kayıdımızı başarıyla gerçekleştirdik. Şimdi kontrol.asp yi yapıp verilerimizi sıralatacağız.

Aşağıdaki kodları kontrol.asp olarak kayıt edin.

Kod Alanı:

[CODE]<%

' Mysql Veritabanına bağlantı kuruyorum.

Set db = Server.CreateObject("adodb.connection" )
db.Open = "driver={mysql odbc 3.51 driver}; server=localhost; UID=root; pwd=; db=ders;"

' Tabloma bağlanıyorum.

Set rs=db.Execute("select*from uyeler" )
If rs.Eof Then ' Eğer kayıt yoksa;

Response.Write "Kayıt Yok !<br><br>"
Response.Write "<a href=default.asp> Yeni Kayıt eklemek için tıklayınız.</a>"

Else

While not rs.Eof
id=rs("id" )
isim=rs("isim" )
telefon=rs("telefon" )
email=rs("email" )

Response.Write "<b>Sıra no :</b> " &id&" - <b>İsim :</b> " &isim&" - <b>Telefon :</b> " &telefon&" - <a href=sil.asp?id=" &id&">Silmek için tıkla</a> -

<a href=duzenle.asp?id=" &id&">Düzenlemek için tıkla</a> <br><br>"

rs.Movenext
Wend
End If
rs.Close

Response.Write "<a href=default.asp> Yeni Kayıt eklemek için tıklayınız.</a>"

%> [/CODE]

Kayıtları sıraladık ve her kayıtı silme veya düzenleme için linklerimizi belirledik. İlk önce sildirelim .aşağıdaki kodları sil.asp olarak kayıt edin.

Kod Alanı:

[CODE]<%
' Mysql Veritabanına bağlantı kuruyorum.

Set db = Server.CreateObject("adodb.connection" )
db.Open = "driver={mysql odbc 3.51 driver}; server=localhost; UID=root; pwd=; db=ders;"

' kontrol.asp den gelen değerimiz id . id i tanımlayalım.

id=request("id" )

' ve bu id ye göre sildirelim.

Set sil=db.Execute("delete from uyeler where id=" &id )

' Sildirdik. Şimdi kontrol.asp ye otomatik geri dönelim.

Response.Redirect "kontrol.asp"

%>
[/CODE]

Sildirme işlemi yaptık ve kontrol.asp ye geri döndük. Şimdi kayıt düzenlemesi yapalım ve aşagıda kodları duzenle.asp olarak kayıt edelim.

Kod Alanı:

[CODE]<%
' Mysql Veritabanına bağlantı kuruyorum.

Set db = Server.CreateObject("adodb.connection" )
db.Open = "driver={mysql odbc 3.51 driver}; server=localhost; UID=root; pwd=; db=ders;"

' kontrol.asp den gelen değerimiz id . id i tanımlayalım.

id=request("id" )

'tablomuza bağlanalım.

Set rs=db.Execute("select*from uyeler where id=" &id )


isim=rs("isim" )
telefon=rs("telefon" )
email=rs("email" )

rs.Close

' Şimdi bu kayıt bilgilerini değiştireceğimiz için form elemanlarında yazdıralım.

Response.Write "<form method=post action=duzenle_son.asp?id=" &id&">"
Response.Write "İsim : <input type=text name=isim value='" &isim&"' size=20><br><br>"
Response.Write "Telefon : <input type=text name=telefon value='" &telefon&"' size=20><br><br>"
Response.Write "E-Mail : <input type=text name=email '" &email&"' size=20><br><br>"
Response.Write "<input type=submit value=Düzenle>"
Response.Write "</form>"

Response.Write " <a href=kontrol.asp> Kayıtlara Geri Dön</a> - <a href=default.asp> Yeni kayıt ekle</a>"

%>
[/CODE]

Kayıtları form elemanlarında yazdırdık. Şimdi duzenle_son.asp mizi yazalım ve değiştirdigimiz bilgileri update edelim. Aşağıdaki yazacaklarımızı

duzenle_son.asp olarak kayıt edelim.

Kod Alanı:

[CODE]<%
' Mysql Veritabanına bağlantı kuruyorum.

Set db = Server.CreateObject("adodb.connection" )
db.Open = "driver={mysql odbc 3.51 driver}; server=localhost; UID=root; pwd=; db=ders;"

' Formdan gelen değerleri alıyorum.

id=request("id" )

isim=Request.Form("isim" )
telefon=Request.Form("telefon" )
email=Request.Form("email" )

' Formdan gelen değerlerin boş olup olmadıgını kontrol ediyorum.

If isim="" or telefon="" or email="" Then
Response.Write "Formda eksik bilgi bıraktınız.<br><br>"
Response.Write "Geri dönüp kontro lederek tekrar deneyiniz.<br><br>"
Response.Write "<a href=java script:history.back( )>Geri dönmek için tıklayınız.</a>"
Else

' Gelen değerleri kontrol ettik. şimdi guncelleme yapalım.

Set guncelle=db.Execute("update uyeler Set isim='" &isim&"',telefon='" &telefon&"',email='" &email&"' where id=" &id )

' Güncelleme yatık . şimdi Üye bilgisi sayfasına geri dönelim.

Response.Redirect "duzenle.asp?id=" &id&""

%>[/CODE]

Link to comment
Share on other sites

Veri Günceleme update ile olur..kısaca kodu yazalim..

<%

set rs = server.createobject("adodb.recordset")

sql "select * from tbladi"

rs.open sql,baglantiadi,1,3

rs("adi")=eklenecek

rs.update

rs.close

rs = nothing

%>[/CODE]

Link to comment
Share on other sites

Başlayalım .. Veritabanına yeni kayıt eklemek için Recordsetin Addnew komutunu kullanmamız lazım..

rsadi.addnew

rsadi("tbladi") = eklencek

Şeklindedir Hemen Bir Örnek Vermek Gerekirse..

db.mdb diye tablomuz var kayit diye tablomuz var içinde adi,sadi adinda alanlarimiz var bunları veri tabanına ekliyelim.

form.asp

<form action="kaydet.asp" method="post">

Adınız:<input type="text" name="adi">

S.adınız:<input type="text" name="sadi">

<input type="submit" value="gönder">

</form>[/CODE]

[b]kaydet.asp[/b]

[CODE]<%

set baglanti = server.createobject("adodb.connection")

baglanti.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mapPath("db.mdb")

set rs = server.createobject("adodb.recordset")

sql "select * from kayit"

rs.open sql,baglanti,1,3

rs.addnew

rs("adi") = request.form("adi")

rs("sadi") = request.form("sadi")

rs.update

rs.close

set rs = nothing

baglanti.close

set baglanti = nothing

%>[/CODE]

Link to comment
Share on other sites

Eğer veritabanımızda çok fazla veri varsa bunları tek sayfada göstermek yerine belli bi yerden keserek sayfalatmayı tercih ederiz.

Bu konuda bu olayın nasıl yapıldığını göreceğiz.

ılk önce sayfa numarasını querystring ile alalım.

<%
sf = Request.querystring(""sf"")
if sf="""" then
sf=1
end if
%>[/CODE]

Bu kodu sayfanızın en başına koymalısınız.Bu kod ile eğer sf boş ise sayfa numarasını 1 diye belirttik

şimdi sırada döngüyü başlatacak kodumuz var.Altta gördüğünüz 10 rakamı o 1 sayfada kaç tane veri listeleneceğidir.Veritabanımızdaki tabloya bağlandığımız değişkenin ismi ""rs"" olsun.

[CODE]<%
rs.pagesize = 10
rs.absolutepage = sf
sayfa = rs.pagecount
for i=1 to rs.pagesize
if rs.eof then exit for
%>[/CODE]

Bu kodu koyarak döngümüzü başlattık.Sırada döngüye nereden devam edeceğimiz var.

[CODE]<%
rs.movenext
next
%>[/CODE]

Bir sonraki veriye geçmesini belirttik.Son olarak sayfaları ekrana yazdıracağız.

[CODE]<%
for y=1 to sayfa
if CINT(TRIM(sf))=CINT(TRIM(y)) then%>
<b>[<%response.write """" & y %>""></b><%
else
response.write "" <a href=""""default.asp?sf="" & y & """""">"" & y & ""</a>""
end if
%><%next%>[/CODE]

Böylece sayfalatma işlemimizi tamamlamış olduk.""rs.pagesize = 10"" yazan yerdeki 10 numarasını değiştirerek bir sayfada kaç tane veri olacağını belirleyebilirsiniz.

Kodları sırasıyla yerlerine yerleştirmeniz önemlidir.

Link to comment
Share on other sites

Tarih ile ilgili birçok fonksiyon vardır.Tarihin istediğimiz bölümünü alma gibi.

Bunlar şöyledir :

<%
now() ' Bütün tarih ve saat'i verir.Çıktısı 06.01.2005 12:32:55 gibidir.
date(now) ' Bu bize sadece tarihi verir.Çıktısı 06.01.2005 gibidir.
day(now) ' Bu fonksiyon bulunduğumuz günü verir.Çıktısı 6 gibidir.
month(now) ' Bu fonksiyon içerisinde olduğumuz ayın sayısını verir.Çıktısı 1 gibidir.
year(now) ' Bu fonksyionda bulunduğumuz yılı vermektedir.Çıktısı 2005 gibidir.
hour(now) ' Bu fonksiyon bize saati verir.Çıktı 12 gibidir.
minute(now) ' Bu fonksiyonda sadece bulunduğumuz dakikayı verir.Çıktısı 32 gibidir.
second(now) ' Bu fonksyion ise sadece saniye'yi verir.Çıktısı 55 gibidir.
%>[/CODE]

Not : Çıktı rakamlarını yazıyı yazılan zaman göre yazılmıştır.Yazılan Zaman : 06.01.2005 12:32:55

Belirli tarih fonksiyonları böyledir.

Tarih'de işlem yapma ise şöyledir

[CODE]<% DateAdd(""h"", 6, now()) %>[/CODE]

Bu yazılan kodun anlamı ise şu andaki tarihden 6 saat sonrası verir.

Yani şimdiki zaman 06.01.2005 12:32:55 ise işlem yapılmış komutun çıktısı 06.01.2005 6:32:55 dır.

Eğer tarih geriye gitmek istiyorsanız

[CODE]<% DateAdd(""h"", -6, now()) %>[/CODE]

Bu ise bize 6 saat öncesini verir.Çıktısı 06.01.2005 18:32:55 dir.

Burada kullanmış olduğumuz ""h"" nin anlamı hour(saat) demektir.Buraya gelebilecekler şöyledir :

""h"" = hour(saat)

""n"" = minute(dakika)

""s"" = second(saniye)

""d"" = day(gün)

""y"" = year(yıl)

""m"" = month(ay)

""w"" = week(hafta)

DateAdd böyledir.

DateAdd'den başka 2 tarih arasındaki farkı bulmamızı sağlayan DateDiff fonksiyonumuz vardır.

Mesela 05.01.2005 ile 07.01.2005 arasındaki gün farkını bulmasını istemek için

[CODE]<% DateDiff(""d"",""05.01.2005"",""06.01.2005"") %>[/CODE]

şeklinde yapmalıyız.

DateDiff'de böyle kullanılır

Son bir tane olarak Cdate fonksyionumuz vardır.Bunun anlamı Convert Date(Tarih çevirme) demektir.

Kullanımı ise

[CODE]<% cdate(""06,01,2005"") %>[/CODE]

Bu yazılmış tarihi çevirir.Çıktısı 06.01.2005 şeklinde olur.

Tarih fonksiyonlarımızın hepsi bu kadardır.

Link to comment
Share on other sites

Veritabanımızdan yapmamız geren görevleri belirlediğimiz SQL komutumuzun kaçtane olabileceğinden bahsetmek istiyorum.

----------------------------------------------------------------------------------------------------

Artan ID numarasına göre :

<% SQL = ""Select * from tablo"" %>

----------------------------------------------------------------------------------------------------

Belirli bir kritere göre seçtirme :

<% SQL = ""Select * from tablo WHERE Alan1 = "" & değişken & "" "" %>

----------------------------------------------------------------------------------------------------

Alan adını seçerek belirli kritere göre sondan başa doğru sıralatma :

<% SQL = ""Select * from tablo ORDER by alan1 desc"" %>

Not : Burada ""alan1 desc"" diyerek alan1 i en sondan başa doğru sıralatmış olduk(forum mantığı, sondan başa).

----------------------------------------------------------------------------------------------------

Alan adını seçerek belirli kritere göre baştan sona sıralama :

<% SQL = ""Select * from tablo ORDER by alan1 asc"" %>

Burada ""asc"" yazarak ""desc"" in tam tersini yani baştan sona doğru sıralanır(Küçükten büyüğe, baştan sona).

----------------------------------------------------------------------------------------------------

Birkaç tane seçtirmek :

<% SQL = ""Select top 5 * from tablo ORDER by alan1 desc""

Not : Böylece en sondan 5 tane veriyi seçmiş olduk.

----------------------------------------------------------------------------------------------------

Tablo'dan veri sayısını seçerek bir değişkene bağlama

<% SQL = ""Select count(*) as sayi from Tablo"" %>

Not : Bu komut ile tablo'daki verilerin hepsinin kaç tane olduğunu sayi adlı değişkene atadık.Bu komuta extra olarak WHERE komutu ile istediğiniz kriterlere göre de sayı alma yapabilirsiniz.

----------------------------------------------------------------------------------------------------

Tablo'nun alanlarındaki sayıları toplattırarak değişkene bağlama

<% SQL = ""Select sum(Alan1) as toplam from tablo"" %>

Alan1 yerinde örneğin Hit scriptlere ait hit sayılarını toplattırarak toplam indirme sayısını bulabilirsiniz.

----------------------------------------------------------------------------------------------------

Belirli tarihler arasında seçtirme :

<% SQL = ""Select * from tablo where tarih between #"" & tarih1 & ""# and #"" & tarih2 & ""# "" %>

Not : Bu komut'ta tarih'i değişkene atamanızı tavsiye ederim.Mesela ""tarih1 = date"" gibilerinden.

Not 2 : Eğer MS Access veritabanı kullanıyorsanız tarihleri seçtirirken en başa <% session.LCID = 1055 %> ve bu komut ile ilgili bütün işlemleri bitirdiğiniz yerede <% session.LCID = 1033 %> yazmalısınız.

----------------------------------------------------------------------------------------------------

Link to comment
Share on other sites

  <% 
Set Sur = Server.CreateObject("ADODB.Connection" )
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabanimiz.mdb" )
%>
<%
'Baglanty dosyamyzy include etti?imize göre artyk veritabanyndan bilgilerimizi alabiliriz
Set rs = Server.CreateObject("ADODB.Recordset" )
sor = "Select * from tablo"
frestons.Open sor,Sur,1,3
' veritabanimizla baglantımızı kurduk..

rs("hit" ) = rs("hit" ) + 1
rs.update
%>[/CODE]

Evet ozellikle webmaster arkadaslara cok yarıyacak bir kod. Bu kod ile dosyamızın kac defa gosterildigini yani kac kisinin baktıgını ogreniyoruz.. Tabiki veritabanınızda tablo isimli tablo da ise hit diye bir alan olmak zorunda..

Kolay Gelsin.

Link to comment
Share on other sites

Bu Dersimizde Bilgileri Yan Yana Sıralamayı Gorecegiz...

<% 
Baslangic = 1
Bitis = 50
SiraSayisi = 2
%>

<table>
<tr><% for i = Baslangic to Bitis %>
<td> <%=i%></td>
<%
If i mod SiraSayisi = 0 Then
Response.Write "</tr><tr>"
End If
Next
%>
</tr>
</table>[/CODE]

Bolece 2li Sıra Şeklinde 1 den 50 Ye Kadar Yan Yana Sıralamış Olduk Verileri..

Baştaki Değişkenleri İşimizi Kolaylaştırması İcin Kullandım. Siz Direk Deger verekte Yapabilirsiniz..

Değişken Kullanımı :

[CODE]Başlangic : Döngünün Başlama Değeri
Bitis : Döngünün Bitiş Değeri
SiraSayisi : Yan Yana Kaçlı Sırayla Listelenmesi[/CODE]

Link to comment
Share on other sites

Bilişim aktivitelerinin internet ortamında hızla geliştiğine hep birlikte tanık oluyoruz. Bu gelişim artık Bilgisayar Programcılığı terimi yerine Web Programcılığı olarak değişime uğramaktadır.

İnternet uygulamalarının en hızlı geliştiği bu dönemde insanlar her türlü işlerini bu platformda yapma gereği duymaktadır.

Bu platformda veri tabanı olayları, çoklu ortam kavramları, resim, ses, film benzeri birçok şeyi destekleyen bu platform işte siz geleceğin en iyi web programcılarına mükemmel bir ortam sunmaktadır. Bununla birlikte yaratıcılığınız ve tasarım yeteneğinizi geliştirebilmeniz için piyasada bunlarla ilgili araçlar sunulmaktadır. Bu araçlar sizlere web programlama veya tasarımda büyük fayda sağlayacaktır.

Bunları göz önünde bulundurarak “Microsoft Active Server Pages ( ASP )” dosyalarının hazırlanıp çalıştırıldığını anlatan geniş kapsamlı bir kitap hazırlamayı uygun buldum. Amacım Türkiye’de teknoloji adına siz gençlerin daha aktif bir rol oynamasıdır.

Link to comment
Share on other sites

IIS Kurulumu

ASP basit bir tanımla web üzerinde çalışan bir programlama dili diyebiliriz ve bir programlama dilinin çalışma anında derlenmesi gerekir. VBasic, Delphi gibi dillerde bu için özel compiler’lar vardır. ASP de compile işlemi web sayfasının yayınlandığı sunucu üzerinde yapılır. Compiler olarakda web servisini yöneten program kullanılır. ASP’de bu işi IIS (Internet Information Services ) görmektedir. Barındırdığı sitede çağrılan bir ASP dosyasını derleyerek çıktısını kullanıcının tarayıcısına gönderir. Bizede çalışmalarımızda test amaçlı olarak IIS lazım olacaktır.

(Win9x ve WinMe için IIS degil PWS kullanılmaktadır. Sitenizin host ettiğiniz serverda IIS yüklü olacağı için aynı ortamı oluşturmak adına IIS kullanmanızı tavsiye ederim. Eğer Win9x ve ME kullanıyorsanız mevcut işletim sisteminizi kaldırmadan da Win2000 kurabilirsiniz. XP üzerinde IIS kullanabilmek için Professional versiyonu kullanmanız gerekir. )

IIS sadece Win2K ve WinXP’de çalışır. Hariçden yüklenen bir program değildir. Windows’un temel bileşenlerinden biridir. Kurulumu için Denetim Masasından Program Ekle/Kaldır’a girin. Buradan Windows bileşenlerine geçiniz ve listeden IIS’i (Internet Information Services ) seçiniz.

(Kurulum tamamlandığında bilgisayarınızı yeniden başlatmanıza gerek yok, ama siz yinede yeniden başlatsanız iyi olur. Herhangi bir problem ile karşılaşmamak için önerimdir yinede siz bilirsiniz. )

IIS’e ait özelliklere Denetim Masası/Yönetimsel Araçlar/Internet Information Services (IIS ) linkini kullanabilirsiniz.

Tarayıcınıza localhost adresi girdiğinizde Varsayılan Web Sitesi olarak tanımlanmış siteyi görürsünüz. İlk kurulumdan sonra sayfanın dosyaları için tanımlanan klasör c:inetpubwwwroot ’dur. Çalıştırmak istediğiniz asp dosyalarınızı bu klasörün altına koymanız halinde çalıştırabilirsiniz. IIS kurulumundan sonra ASP dosyalarına çift tıklamakla bir ASP dosyasını çalıştıramazsınız. Sadece IIS üzerinde tanımlanmış klasör içindeki ASP dosyaları, tarayıcı üzerinden çağrılmaları halinde çalışabilir. Mevcut bir sitenin kök dizinini değiştirmek için sitenin veya sanal dizinin özelliklene girin Giriş Dizini sekmesinde siteye ait klasörü tanımlayabilirsiniz.

Site Yönetimi

IIS’in server versiyonunda birden fazla web sitesi oluşturabilirken bizim localhost olarak kullanacağımız web sitesini çalıştıran IIS’de bu özellik yoktur. Farklı web sitelerini yönetebilmesi için bir DNS sunucuya ihtiyaç duyacaktır. Birbirinden farklı siteleri IIS üzerinde tanımlamak için sanal dizin özelliği kullanılabilir.

Sanal Dizin

Sabit diskiniz üzerindeki herhangi bir dizini sanal dizin olarak atayabilirsiniz. Sanal dizinlere site altında bir dizin gibi erişilir. ( ) Erişim açısından sitenin tanımlı olduğu klasördeki dizinlerden bir farkı yoktur.

Yeni sanal dizin oluşturmak için Varsayılan Web Sitesi’ne mouse ile sağ tıklayın ve açılan menüden Yeni/Sanal Dizin seçeneğini seçin. Karşınıza çıkan sihirbazda sırasıyla sanal dizinin adını ve sabit diskinizde bulunduğu yeri tanımlayınız. Bu işlemi bitirdiğinizde sanal dizininiz oluşturulmuş olacaktır. Daha sonra bu sanal dizine ait özellikleri değiştirmek için değişiklik yapacağınız sanal dizine mouse ile sağ tıklayın ve özellikleri seçin.

IIS’in kullanımına dair çok ayrıntılı bilgi vermek bu makalenin konusunun dışında kalacağı için ayrıntılara girmeyeceğim. daha ayrıntılı bilgi için www.iisfaq.com ve

Please register to see this content.
adreslerine bakabilirsiniz.

Link to comment
Share on other sites

Aktif Sunucu Sayfaları ( ASP ) nedir ?

Microsoft’un bizlere sunduğu karşılıklı etkileşimli ( interaktif ) sayfalar yapabilmek için kullanabileceğimiz yeni bir web teknoloji dilidir. IIS 4.0 ve Personel Web Server 4.0 ile uyumlu bir dildir. Yeni sürüm olan ASP 3.0 ise hem IIS 4.0 hemde IIS 5.0 ‘a destek verebilmektedir.

ASP İçn gerekli olacak yazılımlar nelerdir ?

Windows NT : Windows NT 4.0 Option pack Yazılımındaki IIS 4.0 programını sisteminize yüklemeniz gerekir.

Windows 95 veya 98 : Personel Web Server 4.0 yazılımını kullanabilirsiniz.

Windows NT 4.0 Option pack Yazılımını

Please register to see this content.

bu adresten indirebilirsiniz.

Windows 2000 Pro. : IIS 5.0 yazılımını sisteminize kurabilirsiniz.

Yardımcı Araçlar olarakta aşağıdaki Front Page , Not Pad vb. yazılımları kulllanabilrisiniz.

Veri Tabanı Sunucusu Nedir ?

Tüm verilerimizi depolamaya yarayan bir yapıdır. Veritabanında Silme / Ekleme / Güncelleme gibi işlemler yapılmaktadır.

Bu yaptığım uygulamarı nasıl yayınlarım ?

FTP Servisi Netwrok ( Ağ ) üzerinde bulunan bilgisayarların dosya transferleri için kullandıkları bir servistir.

Uygulamarınızı bir ftp serverisinde barındırarak interaktif uygulamarınızı yayınlayabilirsiniz.

Link to comment
Share on other sites

Aktif Sunucu Sayfaları ( ASP ) nedir ?

Microsoft’un bizlere sunduğu karşılıklı etkileşimli ( interaktif ) sayfalar yapabilmek için kullanabileceğimiz yeni bir web teknoloji dilidir. IIS 4.0 ve Personel Web Server 4.0 ile uyumlu bir dildir. Yeni sürüm olan ASP 3.0 ise hem IIS 4.0 hemde IIS 5.0 ‘a destek verebilmektedir.

ASP İçn gerekli olacak yazılımlar nelerdir ?

Windows NT : Windows NT 4.0 Option pack Yazılımındaki IIS 4.0 programını sisteminize yüklemeniz gerekir.

Windows 95 veya 98 : Personel Web Server 4.0 yazılımını kullanabilirsiniz.

Windows NT 4.0 Option pack Yazılımını

Please register to see this content.

bu adresten indirebilirsiniz.

Windows 2000 Pro. : IIS 5.0 yazılımını sisteminize kurabilirsiniz.

Yardımcı Araçlar olarakta aşağıdaki Front Page , Not Pad vb. yazılımları kulllanabilrisiniz.

Veri Tabanı Sunucusu Nedir ?

Tüm verilerimizi depolamaya yarayan bir yapıdır. Veritabanında Silme / Ekleme / Güncelleme gibi işlemler yapılmaktadır.

Bu yaptığım uygulamarı nasıl yayınlarım ?

FTP Servisi Netwrok ( Ağ ) üzerinde bulunan bilgisayarların dosya transferleri için kullandıkları bir servistir.

Uygulamarınızı bir ftp serverisinde barındırarak interaktif uygulamarınızı yayınlayabilirsiniz.

Web Programcılığına giriş ( Temel )

Asp sayfaları vbscript,jscript ve html kodlarını içeren .asp uzantılı sayfalardır.

Skript ( Script ) : Yaptığınız bir web programının parçacıkları demektir.

Java Script

Visual Basic Script

Olma üzere iki tane temel skript geliştirme dili vardır. Bu diller html sayfalarına eklenirken

<script> </script> tagları arasında eklenir. Kullanılacak sktiptin dilini belirleyebilmek içinse LANGUAGE deyimi kullanılır.

Örnek :

<html> 
<head>
<title> Sayfamızın Başlığı </title>

<script language=”javascript”> Şeklinde kullanılır </script>

</head>

<body>
</body>
</html>[/CODE]

[CODE]<html>
<head>
<title> Sayfamızın Başlığı </title>

<script language=”vbscript”> Şeklinde kullanılır </script>

</head>

<body>
</body>
</html>[/CODE]

Link to comment
Share on other sites

Reklam Tablosunun İçinde id ve Reklam Adında 2 Tane Alanımız Olacak..

id = Otomatik Sayı 
Reklam = Not [/CODE]

Olarak Ayarladıktan Sonra Veri Tabanı Baglantısını Yapıyoruz :

[CODE]<%
vt_yol = Server.MapPath("db/db.mdb" )
set Baglanti=server.createobject("adodb.connection" )
Baglanti.open "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & vt_yol & ";"
%> [/CODE]

Simdi RecordSet Bağlantisi Yapıyoruz :

[CODE]<%
Set Rs = Server.CreateObject("ADODB.Recordset" )
Sql = "Select * From Reklam"
Rs.Open Sql,Baglanti,1,3
%> [/CODE]

Simdi Rastgele Bi Veriyi Çekelim DBden :

[CODE]<%
Randomize
Rastgele= Int((Rs.RecordCount*Rnd )+0 )
Rs.Move(Rastgele )

Response.Write Rs("Reklam" )
%>[/CODE]

Link to comment
Share on other sites

Lütfen bir dahaki paylaşımlarınızda forum kirliliği yaratacak tarzda başlıklar açmak yerine mesajlarınızı birleştirin aksi halde faydadan çok zarar olmaktadır.

Link to comment
Share on other sites

yönetim böyle bir iyi niyete birşey demez.. hatta destek olur..

notepad ++, notepadden daha iyi daha gelişkin.. kod renklendirme falan da var.. ya da ultra edit..

kaynak olarak sn hakkı öcal'a ait asp rehberi.. aşağıda upoad linki var.. exe şeklinde bir kitap

http://rapidshare.com/files/63608046/mutastonasp.rar.html[/CODE]

bu gün indiremiyorum. modemi de resetliyemiyorum

çnkü başkasıda bağlı yarın ilk işim indirmek olacak. :D

Link to comment
Share on other sites

@ Cumman teşekkür ederim düzenleme için. Fakat başlıkları ayrı ayrı yazsaydı, adamlar şimdi neyin ne oduğunu daha da karıştıracak. Yada bunların hepsini başka bir konuya açsaydık:)

Neyse bundan sonrakileri ben düzenlerim.

İyi Çalışmalar.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...