Home » Archive by category 'Diğer Diller' (Sayfa 2)
ASP ile SEO

Merhabalar efendim, uzun bir zamandan sonra yeni bir makale ile tekrardan karşınızdayım. Bu yazımda ASP ile SEO (Arama motoru optimizasyonu) için gerekli olan en önemli işlemlerden olan linklerin yazı başlığı şeklinde uzantısının .html şeklinde olması olayını (SEF) kendimce anlatmaya çalışacağım. Bu ne için gereklidir dilerseniz önce bunu anlamaya çalışalım. Google bu konu hakkında şunu der; kullanıcı bir arama sonucunda yada bir yerde sitenizin içeriği hakkında bir link gördüğünde, linkten konunun içeriğini anlamalıdır.Olayın özeti budur. Bakınız bu site. Linkler; baslik-deneme-1-2.html şeklindedir. Burdaki .html uzantısı ise sayfanın sabit bir içerik olduğunu temsil eder. PHP ASP.NET gibi dillerde bu işlemi yapmak gayet basitken ASP gibi modası geçmiş bir dilde birazcık zahmetlidir. Birden fazla yolu vardır fakat bence en kolay şu şekilde yapılmaktadır. Sitemde ki yapıda aynen anlatacağım şekildedir.

Öncelikle asp sayfalarımızı yorumlayan programımız olan IIS e ufak bir ayar yapmamız gerekiyor. Bunun nedeni de şu; www.sitemiz.com/deneme.html diye bir istek olduğunda eğer böyle bir sayfa yoksa dizinimizde 404 numaralı hatanın sayfası çıkar ve Aradığınız sayfa bulunamadı gibisinden bir uyarıyla karşılaşırız. Bizim kuracağımız yapıda her başlığa ait bir .html dosyası olmayacağından bu duruma el atıp 404 uyarısı verildiğinde default.asp sayfamıza yönlendirme yapmamız gerekiyor. Sonrasında gerekli kodlarımızı yazıp veritabanı sorgulama işlemimizi sağlıklı bir şekilde yapıp kullanıcının ruhu bile duymadan istediği sayfayı istediğimiz şekilde kendisine sunacağız.

Denetim Masası\Yönetimsel Araçlar \ Internet Information Services (IIS) Yöneticisini çalıştırıyoruz. Şuandaki bilgisayarımda Windows Vista olduğu için IIS 7 üzerinden yönlendirme işlemini göstereceğim. Bu IIS 6 da ve farklı versiyonlarda değişiklik gösterebilir, fakat ufak bir araştırmayla 404 yönlendirmesini basit bir şekilde yapabilirsiniz.

IIS açıldıktan sonra sol taraftaki ağaç menüden Default Web Site yi tıklıyoruz. Sonrasında karşımıza çıkan ekrandan Hata Sayfaları simgesine tıklıyoruz.

Gördüğünüz gibi hata kodlarıyla birlikte hata olduğunda hangi sayfanın görüntüleneceği bir kısım geldi karşımıza. Bu ekrandayken direk sağ taraftaki Özellik Ayarlarını Düzenle linkine tıklıyoruz.

Normalde Ayrıntılı Hatalar seçili durumdadır, biz bunu Özel Hata Sayfaları olarak değiştiriyoruz.

Daha sonra bir önceki sayfada bulunan hata sayfalarından 404 numaralı hatanın üzerine çift tıklayıp Bu sitedeki bir URL’ i yürüt kısmına ister default.asp dosyamızı veya kendinizin belirleyeceği bir yorumlama sayfasının yolunu giriyoruz. Ben örneğimde default.asp kullandım, sizde olayı kavramak açısından bu ismi kullanın ilerde konuyu anladığınızda istediğiniz değişikliği rahatlıkla yapabilirsiniz ;)

Herşey bukadar basit arkadaşlar. Hemen wwwroot klasörümüzün altına deneme amaçlı bir aspUrl klasörü oluşturup içinede default.asp adında bir dosya oluşturuyor ve içine Response.Write “deneme” yazıyoruz. Tarayıcımızın adres satırına localhost/aspUrl yazdığımızda ekrana deneme yazısı çıkıyor. localhost/aspUrl/asdasdasd yazınca ne oluyor peki ? yine deneme yazısı çıkıyor. Nedenide hata olduğunda default.asp sayfamıza yönlen işlemini yapmamış olmamızdır. Buraya kadar sorun yoksa burdan sonrası yaratıcılığımıza kalıyor. Örneklerimize hemen geçelim.

Öncelikle adres satırında yazan yazıyı alıp işlememiz gerekiyor. Bunun için ben Request.QueryString komutunu kullanacağım.

Default.asp sayfamı aşşağıdaki gibi değiştirip olanları gözlüyoruz.

<%
gelenAdres = Request.QueryString
response.write gelenAdres
%>

Adres çubuğuna http://localhost/aspUrl/seo-deneme-linki yazdığımda sayfamızda 404;http://localhost:80/aspUrl/seo-deneme-linki şeklinde bir çıktı göreceğiz. Yaşasın diyoruz çünki herşey istediğimiz gibi ilerliyor. Şimdi biraz kod yazmaya başlıyoruz.

Default.asp sayfamızın içine aşşağıdaki kodları yazıyoruz.

<a href="hakkimda">hakkımda</a> <br />
<a href="seo">seo</a> <br />
<%
gelenAdres = Replace(Request.QueryString,"404;<a href="http://localhost:80/aspUrl/%22,">http://localhost:80/aspUrl/",</a>"")  ' burada baştaki istemediğimiz kısımdan kurtuluyoruz ve elimize sadece  istediğimiz kısım geliyor.
if gelenAdres="hakkimda" Then ' eğer adres satırına hakkimda yazarsak burası
call hakkimda
elseif gelenAdres="seo" Then ' eğer adres satırına seo yazarsak burası  çalışıyor.
call seo
end if
Sub hakkimda
response.write "Burası Hakkımda"
End Sub
Sub seo
Response.Write "Seoooo Seooooo"
End Sub
%> 

Bu kısımdan sonrası yaratıcılığa kalıyor, gelen adresi istediğiniz gibi parçalayıp işleyebilirsiniz. Mesela Kategori/UrunAdı şeklinde olan bir link yapısını nası yapabilirdik bunu inceleyelim.

Default.asp sayfamızın içine aşşağıdaki kodları yazıyoruz. Burda geçen Split fonksiyonunu daha önce şurada anlatmıştım.

<a href="Anakart/Islemci">Kategori / Ürün Adı</a> <br />
<%
gelenAdres = Replace(Request.QueryString,"404;http://localhost:80/aspUrl/","")
if not gelenAdres="" Then ' gelenAdres değişkenimiz boş değilse aşşağıdaki  işlemleri yapıyoruzki, sayfamız hata vermesin.
gelenAdresParcala = Split(gelenAdres,"/") ' / karakterini  split edip isteğimiz olan birinci ve ikinci bölümleri alıyoruz. (Anakart/Islemci)
response.write gelenAdresParcala(0) &amp;"<br />" ' birinci  dizide Anakart
response.Write gelenAdresParcala(1) ' ikinci dizide de  Islemci geliyor.
end if
%>

İşte bu kadar basit arkadaşlar. Korkulacak en ufak bişiy bulunmuyor. Zaman bulursam Veritabanı işlemlerine bir örnekle bukonuyu sonlandıracağım. Anlamadığınız noktaları sorabilirsiniz. Herkese kolaylıklar dilerim.

ASP ile veriyi olduğu yerde düzenleyin (Instantedit)..

Belki başlık biraz alakasız oldu ama aklıma bu olaya verecek Türkçe bir isim gelmedi. Bir veriyi düzenlemek için ya yeni bir pencere açtıyoruz veya olduğu sayfayı yeninden düzenleyip düzenleme formunu kullanıcıya sunuyoruz. Genellikle yorucu bir işlem olan bu olayı gösterecek olduğum şekilde rahatça ve oldukça şık bir şekilde halledebilirsiniz. Bir çok kullanım alanına sahip olan bu scriptin orjinal sayfası Burası fakat herzamanki gibi PHP :D burda ASP versiyonuna çevrilmiş hali var. Çalışır halini ise buradan indirebilirsiniz..

Default.asp

<script type="text/javascript" src="instantedit.js"></script><span id="id degeri" class="editText">icerik icerik icerik</span>

Update.asp

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
id=Request.QueryString("fieldname")	' gelen id miz..
veri=Request.QueryString("content")	' gelen verimiz..

'-------------------------- verileri veritabanına kayıt edeceksek
'Set Rs = Server.CreateObject("AdoDb.RecordSet")
'Sql = "Select * from Tablo_Adi" 'eğer koşul belirteceksek cümlemizi - Select * from Tablo_Adi where alan_adi = '"&amp;id&amp;"' - şeklinde düzenlememiz yeterli olacaktır.
'rs.open sql,baglantimiz,1,3
'	rs.addnew
'		rs("alanadi")=veri
'	rs.Update
'----------------------------------------------------------------

Response.Write veri
C#.Net ile MonthCalendar nesnesini kullanarak verileri filtremelek.

Merhabalar efendim, bu seferde C#.net de MonthCalendar nesnesiyle tarihe göre filtreleme nasıl yapacağımızı göreceğiz.. Bu uygulama ilk yaptığımız örneğin bir nevi meyvelerinden birtanesi. Sadece kullanının takvim üzerinden seçeceği günü sql cümlemize ekleyip datagridview1 nesnemizi yeniden dolduracağız. c# monthcalendar örneği..

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            gridDoldur("SELECT * FROM TABLO order by ALAN DESC");
        }

        private void gridDoldur(string sqlCumle) {
            string ConStr = "Server=server_adresi; Database=veritabani; uid=kullanici_adi; " +
                            "pwd=sifre;pooling=true; connection lifetime=10; connection timeout=5; packet size=1024;";
            SqlConnection conn = new SqlConnection(ConStr);
            string sql = sqlCumle;
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {

            string tarih = monthCalendar1.SelectionRange.Start.ToString();
            tarih = tarih.Substring(0, 10);
            gridDoldur("SELECT * FROM TABLO WHERE TARIH = '" + tarih + "' ");
        }

    }
}
C#.Net ile DataGridView içinde veri gösterimi..

C#.Net öğrenmeye, ilgilenmeye yeni yeni başlıyorum. Bildiklerimi, gördüklerimi ve yaptıklarımı sizlerle paylaşmak istedim. Webde bir çok kaynak bulunmasına rağmen sıfırdan başlayan birinin işine yarayacak kaynak malesef oldukça az. Aşşağıdaki kodlar sayesinde veritabanındaki kayıtları oldukça basit bir şekilde listeleyebilir veya filtreleyebilirsiniz. Bu yapı sayesinde her seferinde veritabanı bağlantısını ve datagridview ile ilgili diğer tanımlamaları yapmak zorunda kalmıyorsunuz. Sadece istediğiniz sql sorgusunu yolluyorsunuz okadar.. Terimlerde veya ifadelerimde hata varsa affola :)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication2
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public void Form2_Load(object sender, EventArgs e)
        {
            griddoldur("select * from tabloadi"); // form yüklendiğinde, yani program ilk çalıştığında bu sorguyla birlikte datagridview1 nesnemizi dolduruyoruz.

        }

        public void griddoldur(string sqlCumle) {
            string ConStr = "Server=veritabani_adresi; Database=veritabani_adi; uid=kullanici_adi; " +
                               "pwd=sifre;pooling=true; connection lifetime=10; connection timeout=5; packet size=1024;";
            SqlConnection conn = new SqlConnection(ConStr);
            string sql = sqlCumle; // sql cümlemiz fonksiyonumuzdan değişken bir biçimde geliyor. bkz: griddoldur(string sqlCumle)
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0]; // veritabanına bağlanıp son olarakda dataGridView1 veri kaynağını dataadaptere bağlıyoruz.
        }

        private void buton1_Click(object sender, EventArgs e)
        {
            griddoldur("select * from digertabloadi"); // butona tıkladığımızda diğer tablodaki verileri datagridview1 nesnesinde görüntüleyebiliriz.
        }

        private void buton2_Click(object sender, EventArgs e)
        {
            griddoldur("SELECT * from tabloadi where alanadi = "+textbox1.text+" ") // istediğimiz gibi şekillendirebiliriz. bu sayede herseferinde yeniden yeniden kodlar yazmamıza gere kalmaz.
        }

    }
}
FastFind Menu Script ASP !

Find Fast Menu ASP

Çok güzel bir menü navigasyonu olan bu script, orjinalinde PHP ile yapılmış. Bende ASP ye çevirdim. Kolay ve anşalır bir biçimde sizlerle paylaşmak istedim. Scriptin orjinal sayfası
http://labs.activespotlight.net/jQuery/menu_demo.html

Demo http://www.apostylee.com/scripts/FastFindMenu/
İndir http://www.apostylee.com/scripts/FastFindMenu/ffm.rar

Ajax Scriptler Adres Listesi..

Öncelikle Ajax nedir ondan biraz bahsedelim. Kabaca ajax; sayfa yenilenmeden sunucu tarafında işlem yapmamızı sağlayan bir kodlama tekniği. Yani bir linke tıklıyorsunuz veya bir form dolduruyorsunuz farklı bir sayfaya gitmeden işlemler oracıkta gerçekleşiyor. Bu adresten detayına bakabilirsiniz http://tr.wikipedia.org/wiki/AJAX_(programlama) Web 2.0 denildiğinde akla ilk gelen özellik Ajax kullanılarak yapılmış atraksiyonlar geliyor. Eğer sizde benim gibi asp ile kodlama yapıyorsanız, veritabanı işlemlerinin neredeyse çoğunun php ile verildiğini göreceksiniz. Kendimce 3-5 scripti asp ye çevirdim. Yakın gelecekte onları sizlerle paylaşacağım. Buyrun alttaki scriptleri inceleyin..

http://www.ajaxrain.com/
http://www.hotajax.org/
http://www.ajaxrain.com/
http://ajax-tr.com/
http://www.ajaxdaddy.com/
http://ajax-tutorials.com/
http://miniajax.com/
http://www.crackajax.net/
http://freeajaxscripts.net/
http://www.funkyajax.com/
http://www.ajaxonomy.com/
http://www.bestajaxscripts.com/
http://www.ajaxcss.com/
http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html
http://www.noupe.com/ajax/50-amazing-jquery-examples-part1.html
http://www.smashingmagazine.com/2008/09/11/75-really-useful-javascript-techniques/
http://www.smashingmagazine.com/2007/06/20/ajax-javascript-solutions-for-professional-coding/
http://speckyboy.com/2008/04/09/41-of-the-best-mootools-ajax-example-downloads/
http://webdeveloper.econsultant.com/ajax-demos-examples-code-samples/
http://designsadvice.com/ajax/30-of-the-best-ajax-tutorials

Ajax Yükleniyor Animasyonları
http://ajaxload.info/
http://www.webscriptlab.com/
http://mentalized.net/activity-indicators/
http://www.ajax.su/ajax_activity_indicators.html