Etiket arşivi: ASP

Jmail ile Mail Göndermek

Published / by Uğur Özşahin / Leave a Comment

    ASP ile mail gönderme işlemi genelde PHP ile kıyaslandığında sorun gibi gözükür. Sonuç itibarı ile PHP de sadece bir satır ile gerçekleştirebileceğiniz bir işlemi ASP ile bir çok satır ile gerçekleştirmek zorundasınızdır. Anlaşılacağı üzere ASP ile arada sırada hala uğraşıyorum. Şu an üzerinde bulunduğunuz blogun hem yazarı, hem geliştiricisi olduğumdan asp den kopmak kolay olmayacak. Belki yarın öbür gün php ile en baştan programlamak gibi bir durum söz konusu olursa işler değişebilir. Tabi böyle bir durumda isimarsivi.com ve diğer birkaç sitem içinde aynı durumun geçerli olması gerekiyor.

    Jmail ile mail gönderme meselesi de, yorum bölümünde var olan ve yapmış olduğunuz yorumlara yazılmış cevapların size geri bildirimini sağlayan sistemin daha önce sağlıklı çalışmaması üzerine tekrar geliştirmek zorunda kalmam sonucu ortaya çıktı. Bu tip uzun cümlelerden nefret ediyorum ancak yine de oluyor. Kusura bakmayın. Şu an yapmış olduğunuz her yoruma sağlıklı bir geribildirim alabiliyorsunuz. Sanıyorum bu sistemi daha önceden onarmamamın en büyük nedeni yeterli yorum potansiyeline ulaşamamamdı. Artık arada sırada da olsa yorumlarınız geliyor ve her yorum benim için büyük önem taşıyor. Elimden geldiğince cevap yazmaya çalışıyorum ve gerek benim yazmış olduğum gerekse diğer ziyaretçilerimin yazmış olduğu yorumlar hakkında haberdar olmanızı sağlayacak bu sistemi onarmış olmaktan dolayı çok mutluyum.

    Gelelim şu Jmail ile mail gönderme işine. Jmail artık birçok asp destekli server üzerinde kurulu olan mail bileşeni. Dolayısı ile mail gönderme kodlarını birçok yerde bulabiliyorsunuz. Ancak benim gördüğüm kadarı ile yazılmış olan kodlar pek öyle tertipli değil. Örnek olarak değişkenler tanımlanmamış olabiliyor bazılarında. Ancak her ne kadar değişkenleri tanımlamak  kolay bir iş olsa da yinede yeni başlayanlar için daha stabil kodların varlığı çok önemli.

Yukarıda verilen fonksiyonu aşağıdaki şekilde çağırabilirsiniz.


    Not: Açıklama satırları için gerekli olan tek tırnaklar muhtelemen sorun çıkartacaklardır. Siz o tek tırnakları Shift+2 (tek tırnak) ile değiştirmelisiniz yada açıklama bölümlerini bütünü ile silebilirsiniz.

    Mail_Sender fonksiyonu ile ASP de mail gönderme işleminin PHP dilindeki mail gönderme işleminden pek farkı kalmıyor böylece. Ancak tabi serverınızın Jmail desteğinin olup olmaması da bu noktada belirleyici etken.

    Yakın zamanda yaklaşık 5 adet farklı mail bileşeninin hem varlığını kontrol eden, hem de duruma göre mail gönderim işlemini gerçekleştirebilen bir sınıf hazırlamayı düşünüyorum. Bu sınıfı hazırladığımda burada kesinlikle paylaşacağım. Bu süre zarfında diğer bileşenler ile de nasıl mail gönderilebileceğine dair bir kaç yazı yazabilirim.

ASP ile Renk Geçişli Etiket Bulutu Yapmak

Published / by Uğur Özşahin / Leave a Comment

    Asp ile renk geçişli bir etiket bulutu yapımından bahsetmek istiyorum. Etiket bulutu, Web 2.0 ile gelen ve sitelerdeki klasik kategori mantığının çok önünde işlevsel bir araç. Özellikle daha çok bloglarda baş gösteren bu olgu, artık her türlü site yapısı içerisinde kendisine yer bulabilmekte. Etiket bulutlarının işlevselliğinin farkına varan birçok webmaster yayınlamakta olduğu sitelerine bu yapıyı entegre etmek konusunda fazlası ile duyarlı. Çünkü bu sistem ziyaretçilere hem arama motorları ile ulaşımda, hemde site içerisinde dolaşım konusunda büyük kolaylıklar getirmekte. Bizde kendi çapımızda bir etiket bulutu sisteminin nasıl oluşturulabileceğini irdeleyeceğiz. Ayrıca biraz görsellik katmak adına da, sistemimize renk geçişi ve ölçü değişimi uygulayacağız.

   Öncelikle ihtiyacımız olan style kodlarımızı sitemize entegre ediyoruz.


    Style kodlarımızı sitemize entegre ettikten sonra, etiket sistemimizi oluşturan kodları yazıyoruz.

    Yukarıdaki kodu ASP ile hazırlamış olduğumuz sitemize yerleştirdirdiğimizde artık bizde popülerliğe göre belirlenen renk geçişi ve font boyutunun otomatik olarak değiştiği bir etiket sistemine sahip oluyoruz. Ancak bu durum veritabanı hazır olan ve içerisine bir kaç adet etiket girişi yapmış olan arkadaşlar için geçerli.

    ASP ile çalıştığınızı varsayarak kısaca veritabanını nasıl konfigüre edebileceğiniz hakkında örneğimizi baz alarak bilgi vermeye çalışacağım. Etiket bulutu sistemimizde yer aldığı üzere etiketlerimizi çekmiş olduğumuz tablonun adı "tbl_etiket" ve bu tablonun 3 adet kendine özgü alanı bulunmakta. Bu alanlardan ilki etiketlerimizi kimliklendirebilmemizi sağlayan "id" alanı. Bu alanın özelliği otomatik sayı ve birincil anahtar olmalı. Bu sayede etiket sistemimiz içerisinde yer alan linklerde bu alandan yararlanacağız. Yani etiket ile ilgili olan içeriği veritabanımızdan çekerken bu id alanını kullanarak sorgu oluşturacağız. "etiket" alanımız içeriğimiz ile ilişkilendirmek istediğimiz etiketimizin kendisini barındıracak olan tablo alanı. Bu alanın özelliği metin olmalı ve 50 karakter gibi bir uzunluk değeri bu alan için büyük ölçüde yeterli olacaktır. Üçüncü alanımız "pop" alanı bu alanda sorguda etiketlerimiz için bir sıralama kriterini meydana getirecek. Etiketimiz her çağırıldığında "pop" değerini 1 arttırarak, etiketin popülerliğini belirlemiş olacağız. Bu alanın özelliğininde sayı ve tür olarakta long integer olması yeterli olacaktır. Veritabanımızda bu tabloyu oluşturduktan sonra geriye tabloya birkaç adet etiket eklemekten başka bir şey kalmıyor. Tabi bu işi içerik eklerken nasıl yapabileceğiniz konusu da biraz farklı, yani şöyleki içeriğiniz ile etiketlerimizin "id" lerini ilişkilendirmek zorundayız. Ziyaretçilerimiz bu sayede etiket ile ilişkili içeriğe ulaşabileceklerdir. Ayrıca yeni etiketlerin online olarak veritabanımıza eklenebilmesi için küçük bir içerik yönetim sistemi geliştirmeliyiz. Ancak bunları yapabilmek için biraz daha ayrıntılı bir yazıya ihtiyaç var.

    Eğer renk geçişli bir etiket sistemi yazmak istiyor ve veritabanı işlemleri için yeterli bilgiye sahipseniz yukarıdaki 2 kod bloğu size yetecektir. Dilediğiniz gibi kodları editleyebilirsiniz. Bilgilerinin eksik olduğunu düşünen arkadaşlar için veritabanı işlemleri konusunda kendilerini geliştirmelerini öneriyorum. Veritabanı ile kayıt ve sorgu işlemlerini yapabildiklerinde yukarıdaki kodlarda pek bir şey olmadığını onlarda anlayacaklardır.

    Unutmadan şunuda belirteyim, yukarıdaki kodda yer alan font ölçüsünü ve renk parametrelerini kendi sitenize göre düzenlemeniz gerekmektedir. Yoksa bu hali ile etiket sistemi sağ sütunda yer alan etiket bulutsusu ile aynı olacaktır. Kendi sitenize göre düzenlemenizin, sitenizin görünümü açısından önemli olacağını düşünüyorum. Renk kodları (R,G,B) formatındadır. Bu konuda bazı grafik editörlerinden yardım alabilirsiniz.

    Etiket bulutu yapmanın çokta zor olmadığı aşikar. Umarım yukarıdaki kodlar işinize yarar.

ASP ile RSS Beslemesi Oluşturmak

Published / by Uğur Özşahin / Leave a Comment

    RSS ’in karşılığı için fazla teknik ayrıntıya girmeden, düzenli güncellenen sitelerin içeriklerinin özetlerinin yada bizzat tamamının yer aldığı XML dosyalarıdır. Bu yazıda başlıktan anlaşılacağı üzere ASP ile RSS Beslemesi oluşturmak konusunda bazı bilgiler vermeye çalışacağım.

    RSS terimin günümüzde çok hit olmasını sağlayan etkenlerin başında elbette düzenli güncellenen blog, haber sağlayıcıları gibi sitelerin takip edilebilmesi ve bu gibi sitelerin her geçen gün biraz daha artmasıdır. RSS sistemi abonelik imkanları sayesinde ziyaretçilerinizden kopmamanız için çok önemli bir araçtır. Bu sayede aboneleriniz bizzat sitenize gelmeden içeriğiniz hakkında bilgi sahibi olur ve eğer RSS planlamanız gerçekten başarılı ise abonelerinizin düzenli ziyaretçiye dönüşmesini sağlamış olursunuz. Buda tamamı ile RSS beslemenizin içeriği ile doğru orantılı olarak gelişir.

    RSS kısaltmasının ingilizce açılımı sürümler ile birlikte aşağıdaki gibi değişmiştir:

– Rich Site Summary (RSS 0.91)
– RDF Site Summary (RSS 0.9 and 1.0)
– Really Simple Syndication (RSS 2.0.0)

    Günümüzde RSS bir çok site için vazgeçilmez bir hal almıştır. Eğer feedburner gibi bir sistemle de RSS beslemenizi desteklerseniz ziyaretçilerinize e-mail ile yazı takibi gibi ekstra hizmetler de sunabilirsiniz. Tabi bunu kendiniz kod yazarakta yapabilirsiniz ancak kesinlikle böyle bir servis için feedburner ı öneriyorum. Bu sayede RSS beslemenize ciddi şekilde destek oluşturabilir, aynı zamanda RSS beslemenize ait istatistik bilgilerinin tutulmasını sağlayabilirsiniz.

    Siteniz için kullanabileceğiniz RSS oluşturma kodlarını aşağıda bulabilirsiniz. Kullanımı ve Yaratılması için gereken herşeyden elimden geldiğince yazının devamında bahsedeceğim.

    Rahatlıkla her RSS beslemeniz için kolaylıkla kullanabileceğimiz ASP sınıf kodumuz aşağıdaki gibidir. ASP ile RSS Beslemesi oluşturmak için ilk adımı atıyoruz.


    Arkadaşlar yukarıdaki kod bloğunu kendim yazmadım hatta orjinalinde RSS Beslemenizin görünümü iyileştirebileceğiniz bir stylesheet eklentiside bulunmaktaydı ancak ben bunu hep gereksiz görmüşümdür. Yani ben burada kodu sadece biraz editledim. Aslında çok daha basit bir kod bloğu ile de ihtiyacımızı giderebilirdik fakat buradaki amaç tamamı ile kodunuzun işlevsel olmasını sağlamak.

    Arkadaşlar hatırlatmak isterim, yukarıdaki sınıfımızı asp uzantılı bir dosya içine yapıştırdıktan sonra projemizin kalan kısmına include etmemiz gerekmektedir. Ben yukarıdaki kodu cls_RSS.asp adı ile kaydettiğim için aşağıdaki betikte belirtmiş olduğum include parametresi de bu ada göre düzenlemiştir. Evet gelelim artık kodumuzun kalan kısmına :


    Yukarıdaki kodda düzenlemeniz gereken noktalar olduğunu farketmişsinizdir. Ancak bunlar temel ASP bilgisine sahip birisi için çokta zor değişiklikler olmayacaktır. Gerisini zaten oluşturmuş olduğumuz cls_RSS.asp dosyamız hallediyor. Yukarıdaki kodlar utf-8 karakter set için düzenlendiğinden dosyaları kaydederken bu karakter setini kullanmanızı tavsiye ediyorum. Yoksa RSS beslemenizde karakter problemleri ile karşılaşabilirsiniz. Yukarıdaki kodların işinize yarayacağını umuyorum. Herhangi bir sorun yaşarsanız buradan size yardımcı olmaya çalışacağımdan emin olabilirsiniz. Artık elimizde her projemizde rahatlıkla kullanabileceğimiz oldukça işlevsel bir betiğimiz var.

ASP ve Microsoft Sql Server Bağlantısı

Published / by Uğur Özşahin / Leave a Comment

    Öncelikle herkesin ramazan bayramının iyi geçmesini diliyorum ve yazıma devam ediyorum. Kullanmam gereken veritabanımın Microsoft Sql Server olduğu sonucuna vardıktan sonra yaptığım ilk iş Bilgisayarıma deneme amaçlı Microsoft Sql Server 2005 kurmak oldu. Ancak beklediğimden daha sancılı bir süreç gerçirdiğimide belirtmek isterim. Başta herşey çok kolaydı. Microsoft un kendi sitesinden Microsoft Sql Server 2005 i indirdim ve Yükleme dosyasını çalıştırdım. Ardından gelen sayfalardaki tercihlerimi belirttikten sonra geriye kalan Asp sayfalarımda Microsoft Sql Server bağlantısının çalışmasını beklemekti. Asp projemde gerekli olan bağlantı kodunu kullanmama rağmen bir türlü sonuç alamamıştım. Halbuki MySql Server’da işlemler çok daha hızlı ve kolay gerçekleşmişti. En azından Microsoft Sql Server ’a nazaran.

    Kurmuş olduğum Microsoft Sql Server Express sürümünün sadece Sql Server sürücülerinden meydana gelmesi ve Server ı yönetecek komple bir programı içinde barındırmaması beni bir an için çileden çıkardıç Fakat sonunda Microsoftun kendi sitesinden bulduğum ve Microsoft Sql Server’ı yönetmek konusunda bana fazlasıyla yardımcı olan Sql Server Management Studio Express programını bilgisayarıma kurdum. Gerçi bunların hepsini ayrı ayrı ele almak beklentilerimi karşılamaktan fazlasıyla uzaktı ancak yapabilecek fazla bir şey olmadığından elimdekilerden maksimum verimi elde etmeye karar verdim.


    Yukarıda yer alan ve projemde kullandığım Sql Server bağlantı kodunun neden işe yaramadığını sonunda anladım. Sorun bağlantı üzerinde tanımlamış olduğum kullanıcı ayarlarının karşılığının Sql Server 2005 Express üzerinde gerektiği şekilde tanımlanmamış olmasıydı. Yani login işlemi için gerekli olan izinlerin verilmemesi yüzünden belirlemiş olduğum user ile veritabanıma gerekli bağlantıyı sağlayamıyordum. Yapılması gereken iki işlem olduğunu son kurduğum programı incelerken anlamıştım. İlki Server ayarlarındaki security kısmında bulunan Server authentication seçeneğinin Sql Server and Windows Authentication mode şeklinde ayarlanması gerektiğydi. Bu ayar size windowsa login olduğunuz kullanıcı adını ve şifresini kullanarak
veritabanına bağlantı kurmanıza imkan vermekte. Diğer işlem ise security altındaki logins bölümünde bağlantı kurmak istediğiniz user için gerekli olan yetkilendirme işlemlerini doğru bir şekilde tamamlamak. Ve sonunda Sql Server Express 2005 veritabanınız asp projelerinde kullanılmak üzere sizi bekliyor.

    İlk izlenimlerim Sql Server 2005 in MySql ile kıyaslantığında daha yavaş olduğu yönündeydi. Ancak uzun süredir kullanan arkadaşların bu konuda daha sağlıklı yorum yapabileceklerini düşünüyorum. Aynı projede fark hissedilebilir derecede ortaya çıkıyordu. Ancak ileriye dönük bir adım olarak bakıldığında kesinlikle Access veritabanları ile uğraşmanın zaman kaybından başka bir anlam ifade etmediğini anlayabileceğinizi umuyorum. Belik küçük projeleriniz için access veritabanı yeterli olabilir fakat veritabanınız 50.000 kayıt ve üzerine çıktığında hem projenizin sağlığı hemde verimlilik açısından Mysql yada Sql Server 2005 e geçmenizi tavsiye ediyorum. Sql Server 2008 in beta aşamasında olduğu bugünlerde elimizdeki en önemli seçenek Sql Server 2005 gibi duruyor tabi bulunduğu hosting MySql server desteklemeyenler için. MySql server desteğine sahip arkadaşların fiyat ve performans değerlendirmesi bakımından MySql veritabanlarını tercih etmelerini şiddetle öneriyorum.

ASP ile MySQL Veritabanı Bağlantısı

Published / by Uğur Özşahin / Leave a Comment

Yeni uğraşlarımdan biri de MySQL veritabanları. Şu an üzerinde çalıştığım bir kaç ASP projede Microsoft Access veritabanı kullanıyorum. Ancak 50.000 kayıtlı projemde ciddi performans sorunları ile karşılaştığım için kendi bilgisayarımda bu proje için alternatif çözümler aramaya başladım. İlk aklıma gelen kullandığım veritabanı sistemini değiştirmem gerektiğiydi. Bende sistemime bir MySQL server kurdum ve Access veritabanımdaki 50.000 kayıtı yeni bir MySQL veritabanına aktardım. Projemi bu şekilde çalıştırdığımda ortaya çıkan ciddi performans artışı beni inanılmaz mutlu etti. Bende ortaya çıkan performans artışını gördükten sonra artık yeni projelerimde Ms Access kullanmaktan vazgeçtim. Tabi hosting paketimin MySQL desteğinin bulunmayışı sebebi ile hali hazırda elimde bulunan MySQL destekli projemi hayata geçiremiyorum ancak bu bana Microsoft SQL Server’dan yararlanmam gerektiği konusunda bir uyarı oldu. Ancak bu yazıda MySQL ’e devam.

Ms Access ’e son!!! Bundan sonra hazırlayacağım projelerde çok basit bir alt yapı gerektirmediği sürece Ms Access kullanmama kararı aldım. Yazının devamında ASP ’de MySQL ile tablo yaratımı, kayıt girişi, listeleme, düzenleme ve silme işlemlerinin nasıl yapılabileceğine dair kodları bulabilirsiniz.

Gelelim ASP projelerimizde MYSQL veritabanı bağlantılarını nasıl oluşturacağımıza. Aslında prosedür Access bağlantıları oluşturulurken olduğunundan çok farklı değil. Sadece MySQL ile oluşturduğumuz veritabanı bağlantılarında sık kullanılan yöntemlerden bazılarından feragat etmemiz gerekiyor. Örnek : Recordset Objesini bu bağlantılarda kullanamıyoruz. Ancak bunun çok büyük bir kayıp olmadığını söyleyebilirim. Hatta sizi daha fazla satır kod yazmaktan kurtarmakla kalmayıp aynı zamanda daha güvenli kodlar yazmanız içinde bahane oluşturuyor.

Yazının bu bölümünden sonra :
– ASP de MySQL veritabanı bağlantısının nasıl oluşturulabileceği
– Veritabanında yeni bir tablonun nasıl yaratılabileceği
– Tablomuza nasıl yeni kayıt eklenebileceği
– Kayıtların nasıl listelenebileceği
– Kayıtların nasıl düzenlenebileceği
– Kayıtların nasıl silinebileceğinden bahsedilecektir.

Nasıl Yeni bir MySQL bağlantısı oluşturabilirim?

Evet kodları biraz açıklayacak olursak,
mysql_server değişkeninin değeri MySQL veritabanımızın bulunduğu serverın adını taşıyor. Bu değişkenin değeri çok extreme bir durum söz konusu olmadıkça “localhost” olur.
mysql_user = Veritabanı için oluşturduğumuz kullanıcı adımız
mysql_pass = Veritabanı için oluşturulan şifremiz.
mysql_db = Veritabanımızın adı.

Bağlandığımız MySQL Veritabanında nasıl yeni bir tablo yaratabiliriz?

Bu kodları derlemek ve kullanabilmek için EMS Sql Manager for MySQL programından yararlanabilirsiniz. (Ücretli fakat son derece kullanışlı ve profosyonel bir program) Ayrıca yukarıdaki kodları fazla irdelemeyeceğim ancak kısaca tbl_calisan isimli bir tablo yarattığımızı ve içerisinde id, isim, bolum, sskno gibi alanların bulunduğunu anlamışsınızdır umarım.

Calisan tablomuza yeni kayıt ekleyelim

Evet burada da anlatılabilecek pek fazla bir şey yok. tbl_calisan isimli tablomuza iki adet kayıt girişi yaptık.

Oluşturduğumuz kayıtları artık listeleyebiliriz.

Şimdi oluşturduğumuz kayıtlardan ilkini düzenleyelim

Artık kayıtlardan birini silme zamanı geldi.

Bu makalenin MySQL ile çalışmayı düşünen arkadaşlara giriş seviyesinde yararlı olabileceğini düşünüyorum. Hepinize kolay gelsin