Hizmetlerimiz
       Web Tasarım
       Grafik Tasarım
       Ürünlerimiz
       Seo Uygulamaları
       Hosting Hizmetleri
       Domain Hizmetleri
       Referanslarımız
        Müşteri Alanı
      Müşteri Kayıt
      Müşteri Paneli Giriş
      Ödeme Bildirimi
      Ticket
        Haberler

Tüm Haberler >>   

        Son Projeler
        Son Konular
    ASP ve Programcılık Temelleri  

Giriş



Asp, Php, C, C++, VB ... Hangisi olursa olsun öğrenmeye çalışırken karşıma çıkan en büyük sorun anlatım sorunuydu." Asp'ye giriş" tarzı makalelerde bile yeterince giriş seviyesinde bilgi verilmiyordu.Örneğin daha değişkenin ne olduğunu bilmediğim halde yazıda "adında bir değişken tanımlıyoruz" tarzında okadar çok cümle vardıki bir süre sonra insan olmucak bu iş bile diyebiliyordu.
Asp'yle ilgili bir kitap aldığımda birkaç şeyi anlamama rağmen Asp'nin ne işe yaradığını bile. anlayamamıştım.Bu yüzden bu yazıda gerçekten Asp'ye giriş yapıcaz.

Asp Öğrenmeden Önce Neye İhtiyacım Var?



Asp'yi öğrenmeye başlamadan önce gerekli birkaç şey var. Öncelikle Html'yi orta düzeyde bilmelisiniz.Çünkü Asp'yle sitemize resim bile ekleyemeyiz.Bunu Html ile yapıcaz.Html dışında temel olarak site yapmak için azda olsa Css (zorunlu değil) işimize oldukça yarayacaktır.Ayrıca server ve client mantığını temel olarak bilmeliyiz bunu basit olarak ileride anlatıcaz.

Neden Asp?



Böyle bir soru soruyorsanız Html'yi bildiğinizi varsaymak zorundayım. Peki gerçekten neden Asp? Html ile önceden site yapmaya çalışmıssak farketmişizdir : Html gerçekten hiç pratik değil. Html yi kitap gibi düşünebiliriz. Her sayfası ayrı ayrı çizilmiş ve kitabı okuyan kişilerin sayfaları çevirmekten başka yapabilecekleri birşey olmayan bir kitap.Asp ise siteye giren kişinin tamamen ihtiyaçlarına göre kendi kendini biçimlendiren bir sistem.
Örneğin Html ile bir site yaptınız. Üstte temel bir menü ve altta çeşitli yazılar var. 100 adet html sayfası var sitede ve menüde bir değişiklik yapmak zorunda kaldınız. Temel olarak 100 sayfayıda açıp değişitirmelisiniz.Tabiiki frame veya başka teknolojilerle bu sorunu aşabilirsiniz fakat aşamayacağınız başka sorunlar var.Üyelik sistemi gibi.Bu yüzden Asp (tercihe göre php yada başka bir dil) öğrenmek çok mantıklı olacaktır.

Server , Client?



Server temel olarak sitemizi internet üzerinde 24 saat yayınlayan açık bir bilgisayardır. Asp de ise bizim için önemli kısmı yazdığımız kodların server da derlenip yani gözle görülebilir hale getirilip siteye giren kişiye "tamamen Html" şeklinde göndermesidir.Yani Asp kodlarını sitenin kaynağına baktığımızda göremeyiz.Kısaca  client ise sitemize giren kişinin Pc sidir. Yani Html kodunun grafiklere çevrilip kullanıcıya browser yardımı ile gösterildiği yer.

Asp'nin Temelleri ve Html Arasındaki Farklar



Daha öncede belirttik Html'yi kitap olarak düşünelim. Sayfaları çevirmek için kullandığımız şeyler ise linkler. Yani linke tıklayınca herhangi bir sayfaya göndermek zorundayız sitemize giren kişiyi. Fakat Asp de böyle değil.
Asp ile Html arasındaki temel fark birisinin server'da diğerinin ise browserda yani siteye giren kişinin PC sinde çalışmasıdır. Peki bunun ne gereği olabilir? Örneğin Asp ile bir site yaptık. Sitenin Girişinde dil soruluyor ve seçilen dil server a gidiyor. Server siteyi seçilen dile göre biçimlendirip tekrar kullanıcıya gönderiyor.Bunu Html ile yapamazmıyız? yaparız. Fakat şöyle düşünelim. Sitemize yeni bir dil eklemeye kalktığımızda 100lerce html sayfasını güncellemek zorunda kalabiliriz. Asp de ise bu durum farklı işliyor. Nasıl olduğuna değincez.

Asp ve Veritabanları (Database)



Asp ile yapacağımız sitelerin neredeyse tamamında veritabanı kullanıcaz. Bu yüzden bir giriş yapalım dedik. Fakat tanımlaması zor olduğu için örnek göstermek daha mantıklı olacaktır.

KullanıcıAdı Şifre AdSoyad E-mail
-------------------------------------------------------------------------------
Ali05 Alii Ali Soylu ali@hotmail.com
Veli06 Velii Veli Soylu veli@hotmail.com

Yukarıda basit bir veritabanı örneği görüyoruz. Açıklamak gerekirse herhangi birşeyi gruplama olarak gösterebiliriz. Mesela bir bakkalımız var. En üstte Ad Soyad yanınada borç yazıp tam ortasından sayfanın altına kadar düz bir çizgi çekiyoruz ve borç yazdırmak isteyenlerin adını soyadını ve borcunu çizginin gerekli bölgesine koyuyoruz . Yeni kişiler borç yazdırdıkça listeye devam ediyoruz.Böylece ad soyadlar alt alta borçlar da yine alt alta duruyor ve aradığımızı rahatça bulmamızı sağlıyor.
Sitelerdede durum böyle. Üstteki veritabanı örneği bir sitenin üye veritabanı olabilir. Peki bunu teknik anlamda nasıl yapabiliriz? İlk olarak bir veritabanı oluşturup (tamamen başka bir konu) kullanıcı adı, şifre, ad soyad, email adlarında sütunlar yapıyoruz. Daha sonra sitemize bir form koyup aynı adlarda alanlar koyuyoruz. Alanları doldurduktan sonra gerekli tuşla sitemiz veritabanımıza bağlanıp veli06 adlı satırın altına yeni bir satır açıp doldurulan bilgileri yazıyor.Böylece sitemize üye olanları liste şeklinde tutabiliyoruz. Daha sonra sitemize koyacağımız bir "üye girişi" bölümüyle aynı şekilde veritabanına bağlanıp üye girişi yaptırabiliriz.
Örneğin üye girişi kısmına veli06 ve şifreyede velii yazdık. Giriş tamamlandığında ekranın en üstünde veritabanımızda o satıra denk gelen ad soyad değerini yazdırabiliriz. Bu durumda veli06 nın ad soyadı veritabanında gözüktüğü gibi veli soylu olacaktır.
Veritabanının en temel kullanılış şekli bu olabilir fakat birçok farklı iş yapabiliriz. İşte burda bizi 100lerce sayfayı güncellemekten kurtaran mantığıda anlatabiliriz.Sitemizin en üstüne bir kod yardımıyle veritabanından gerekli menü adlarını alıp yazdırabiliriz.

Asp ve Kodlar



İlk önce anlamamız gereken şey asp ile ilgili en basit şey kodları öğrenmek olacaktır.Çünkü gerçekten gayet az sayıda kod mevcut (en azından genelde kullandıklarımız). Peki gerçekten karmaşık siteleri nasıl yapıyoruz? Yöntem bularak. Birkaç kodu gerekli şekilde kullandığımızda Asp ile yapabilceklerimizin bir sınırı yok.Kod örneklerinden önce mantıksal olarak birkaç asp programı yazalım.
Sitemizde haber sistemi olsun. Bir form sayesinde yeni haberleri veritabanına yazdıralım. Daha sonra ana sayfada en son eklenen 5 haber yazsın.Son olarak bu haberlerin altında tüm haberleri göster adında bir tuşla haberlerin tamamına bakabilelim.
İlk önce veritabanında "Haberin başlığı, içeriği ve ID" adlı 3 alan oluşturalım.ID adlı alan yeni haber eklendikçe artsın. Yani siteye ilk eklenen haberin ID si 1 , ikinci eklenen 2 ve toplamda 13 haber olduğunu düşünürsek son haberin ID si 13 olsun. Şimdi kodumuzu yazalım:

----------------------------------------------------------------------------
Veritabanına bağlan
Satırları , ID si en büyük olandan ID si en küçük olana göre sırala ve hepsini okunabilir hale getir (RECORDSET altta değincez)
5 kez parantez içindeki işlemi yap
(
Ekrana , okunabilir hale gelen listedeki haberin başlığı değerini yazdır
Bir satır aşağıya in ve haberin içeriğini yazdır
OKUNABİLİR hale gelmiş sıralamada bir satır aşağıya in
)
Ekranda bir satır aşağıya in ve tüm haberleri göster tuşu yap
Tuşa tıklanırsa okunabilir hale gelen satırlar bitene kadar parantez içindeki işlemi yap
(
Ekrana , okunabilir hale gelen listedeki haberin başlığı değerini yazdır
Bir satır aşağıya in ve haberin içeriğini yazdır
OKUNABİLİR hale gelmiş sıralamada bir satır aşağıya in
)
Veritabanı bağlantısını kapat
----------------------------------------------------------------------------

Şimdi kodumuzu açıklayalım.
İlk satırda veritabanına bağlanıyoruz. Daha sonra siteye, ID si en büyük olan yani en son eklenen haberden ilk eklenen habere kadar sıralama yapıp hafızada tutmasını söylüyoruz.Bu durumda hafızada 13 ten 1 e kadar bütün haberlerin başlığı ve içeriği oluyor.Önemli olan nokta 13 ten başlayıp 12,11,10 diye devam etmesi.
Daha sonra son 5 haberin görüntülenmesini istediğimiz için 5 kez oluşan listedeki başlığı ve içeriği yazıyoruz. Burda ise önemli olan nokta ekrana 5 kez yazdırdığımız haberlerin veritabanındaki değerlerin değil okunabilir hale getirdiğimiz listeyi yazdırmamız. Bu liste şöyle birşey olcaktır:

ID başlık içerik
-----------------------------------
13 a a
12 a a
......aradaki kısımlar
2 a a
1 a a

Burda ID yi büyükten küçüğe sıraladığımız listeyi görüyoruz. Neden direkt veritabanından okumuyoruz gibi bir soru aklınıza gelebilir. Bunun nedeni gerekli şartlara göre listeleri oluşturmamız. Örneğin veritabanındaki sadece 18 yaşından büyük kişileri sıralamak isteseydik "sadece yaşı 18den büyük olan değerleri alt alta sırala" yapıcaktık.Bu listeye RecordSet diyoruz yeri gelmişken belirtelim.
Kodumuza devam edelim. Altta oluşturulan "tüm haberleri göster" tuşuna tıklandığında "RecordSetimizde" ilk satırla (13 ID li haber) başlayıp haberin başlığını ve içeriğini yazdırarak satırlar bitene kadar yazdırıyoruz.
Evet temel olarak mantık bu fakat bu tür işlemleri genelde rakamlarla yapıcağımız için "toplama ve çıkarmayla nasıl forum yapabilirimki?" . Bunu tamamen kendiniz bulcaksınız.


Kodlara Giriş



Temel seviyede Asp kodlarına girebilcek kadar bilgimiz var şimdi kodlara gözatalım.

Öncelikle Asp kodları <% ile başlayıp %> ile biter. Yani kodlarımız:

<%
Asp Kodları...
%>

Şeklinde gözükür. Küçük bir kod yazalım.

<%
response.write "Merhaba Dünya. Nekadar Klasik"
%>

Bu koddaki response.write ekrana yazı yazdırmak için kullanılır. Bu kodu kaydedip çalıştırdığımızda ekranda browserın default boyutunda tırnak içindeki yazılar yazdırılır.Peki bu yazıya nasıl renk yada boyut verebiliriz? Bunun için ayrı bir Asp kodu yoktur. Yapmamız gereken:

response.write "<font color=red>Merhaba!</font>"

budur.Yani Html kodu kullanmamız gerekir. Resim ekleme yada table oluşturmak içinde yapmamız gereken tam olarak aynı şeydir.Bu yüzden Asp nin bu işleri yapmadığını bilmemiz önemli. Peki Neden sadece Html kullanmıyoruz? Çünkü herzaman sadece "Merhaba!" yazmak yeterli olmayacaktır.İlerdeki örneklerde bunu görücez.

Değişkenler



Uzun zaman ne olduğunu kavramaya çalıştığım değişkeni anlatmaya çalışcam. Bakalım okadar zormuymuş?
Değişken i genelde anlatırken bir kap olarak düşünmemiz söylenir. En mantıklısıda bu zaten. Değişkenler herhangi bir değeri alabilen kalıplardır. Değişkenlerin bir adı birde değeri olur. Örneğin "Yaş" adında bir değişken olsun. Bu değişkenin değeri 10 , 1000, 23141 yada "Bilgisayar" olabilir. Ne işe yaradığını örnekle anlatalım.

<%
dim ad
dim soyad
dim yas
ad="ali"
soyad="soylu"
yas="15"
response.write ad
%>

Bu kodda farklı olan şey "dim". dim değişken tanımlamak için kullanılan koddur. dim den sonra gelen yazı ise değişkenin adıdır. Üstte 3 adet değişken tanımlıyoruz. Altta ise değişkenlere "değer" atıyoruz. Artık "ad" adlı değişkenin değeri "ali" dir.  En altta gördüğümüz "response.write ad" ekrana "ad" değişkenini yani "ali" yi ekrana yazdıracaktır. Burdaki önemli olan nokta değişkenleri yazdırırken tırnak içine almamız gerektiğidir.
Eğer " response.write "ad" " yazsaydık ekrana "ad" yazıcaktı.Peki ad değişkenini nasıl renklendirebiliriz? Söylediğimiz gibi tırnak içine alarak olmaz. Bu durumda yapmamız gereken :
response.write "<font color=red>"&ad&"</font>"
yazmaktır. Buradaki farklı şey & sembolüdür. Bu sembol yazıları birleştirmekte kullanılır. Yani html kodlarını tırnak içinde yazıp "ad" değişkenini tırnağa almadan ekrana kırmızı şekilde ali yazdırabiliyoruz.Daha karmaşık bir kod yazmak gerekirse:

<%
dim link
link="default.asp"
response.write "<a href="&link&">"&"Linkimiz"&"</a>"
%>

Burada Linkimiz tuşuna tıklandığında "link" adlı değişkenin değerine gidilcektir.

Konuların sonunda sorduğumuz klasik soruya geldik değişkenlere neden ihtiyacımız var? Çünkü kullanıcıdan alcağımız değerler için değişkenlere ihtiyacımız var. Örneğin:
Ekrana 5 adet tuş yazdıralım. Bunların adları 5 farklı renk olsun. Sitemiz seçilen rengi "renk" adlı bir değişkene atasın. Daha sonra şunu yazalım:

response.write "<font color="&renk&">Merhaba!</font>"

Burada kullanıcının seçtiği renkte ekrana Merhaba yazdırabiliriz. İşte bu yüzden değişkenlere ihtiyacımız var. Çünkü değişkenleri değiştirmeyi genelde sitemize giren kişiler yapıcaktır.
Daha gerçekçi bir örnek vermek gerekirse üyelik sistemi olan bir sitede veritabanından alınan ad soyadı bir değişkene atayıp ekranda istediğimiz yerlere yazdırabiliriz.Yada bir hesap makinesinde 2 adet textbox koyduktan sonra buraya girilen değerleri 2 değişkene atayıp seçilen işleme göre gerekli şeyler yapılabilir.

Asp ile Html nin Birlikte Kullanımı



100 lerce sayfayı tek işlemle düzenleyebilceğimizi söylemiştik. Şimdi bu konuya değincez.
Öncelikle Html ile 2ye bölünmüş bir tablo yapalım

<table bgcolor="white" width="700">
<TR><TD>

</TD></TR>

<TR><TD>

</TD></TR>
</table>

Bu tablonun üst kısmında veritabanından bağlanarak ana menüyü oluşturcaz. Üstten tıklanan menülere görede altta gerekli içerik oluşcak. Öncelikle yapmamız gereken

<table bgcolor="white" width="700">
<TR><TD>
<%
%>
</TD></TR>

<TR><TD>
<%
%>
</TD></TR>
</table>

Şeklinde gerekli yerlere Asp kodlarını yerleştirmek. Daha sonra üstte "mantık" olarak şöyle bir kod yazıcaz

Veritabanına bağlan
RecordSet oluştur
Satırlar bitmedikçe menünün adını ve tıklanınca gidilceği yeri belirt

Burdaki gidilcek yer tamamen farklı bir durum. Veritabanında menünün adı ve gidilceği yer gibi 2 alan yaptıktan sonra menülere tıklanınca yeni bir sayfa açılmayacak. Sadece hangi tuşa basıldığını belirtecek bir kısım url de belircek. Örneğin eğer ana sayfa tuşuna basılmışsa menünün veritabanındaki "gidilceği yer" kısmı "default.asp?islem=anasayfa" olcaktır. (tabiiki değişebilir). Bu noktadan sonra table ın alt kısmına şu tür bir kod yazıcaz:

Url deki islem= den sonra gelen değeri al "sayfa" adlı değişkene ata
Eğer sayfanın değeri anasayfa ise parantez içindekileri yap
(
Ana sayfaya girilince olacak şeyler
)
Eğer sayfanın değeri iletisim ise parantez içindekileri yap
(
İletişime girilince yapılacak şeyler
)

Son kısım biraz karmaşık gelmiş olabilir fakat anlamamız gereken nokta Asp ile her farklı yazı için farklı sayfalar oluşturmamız gerekmediğidir. Üstteki örnekte veritabanına yeni bir menü başlığı ekleyip gidilceği yeri seçtiğimizde tek bir asp dosyasında 1000lerce farklı sayfayı gösterebiliriz.



Okunma : 133
 
 

 
 
 
Bugün Tekil : 2
Toplam Tekil : 3651
Toplam Çoğul : 27397
İp No : 38.107.191.114

Display Pagerank

 

ENSOFTdizayn.NET
2009-2010 Her Hakkı Saklıdır

KareOfis | Rulet Sohbet | Dizi Seti