Günlük naber, nabaysın ?

Ammada zaman oldu buraya birşeyler yazmayalı, gerçi bundan sonrada amma zamanlar geçebilir yazmam için ! Neyse yazayım birşeylerde azcık hareketlilik olsun. Açıkcası yazacak çok fazla şey var nereden başlayacağımı bilemiyorum, tamam buldum :)

9 günlük Ege Turu: Hayatımda ilk kez tatil yaptım ve işimden ilk kez bu kadar uzak kaldım. Çok eğlenceli, güzel ve keyifliydi. O kadar dolu dolu geçtiki günlerimiz 9 gün 90 gün gibiydi resmen. Özellikle Bodrum’ u hiç ama hiç sevemedim çok anlamsız ve geceleri çok ahlaksız bir yer olarak aklımda kaldı, umarım kimse bana kızmaz. Tatil yörelerindeki otellerde ve diğer işletmerde yabancı turist değilseniz, kendi ülkenizde kendi soydaşınız tarafından ezilmeye çalışıyorsunuz, 9 günden geride aklıma kazınan sadece bu tecrübe kaldı. Derine dalmak istemiyorum, ciddi anlamda sinirlerim bozuluyor. Gündönümü Tur ile gittiğimizide belirtmek istiyorum, firma sahibi aynı zamanda bize rehberlik eden Halil abiyede verdiği olağan üstü bilgi ve samimiyetinden dolayı ayrıca teşekkür ediyorum.

Değerin değersizliği: Buraya kendimce yazılar yazıyorum kimine göre hava civa kimine göre çok önemli şeyler. Sürekli şunu söylüyorum ben maddi beklentiler için bu siteyi ayakta tutmuyorum, tek amacım insanlara balık tutmasını öğretmeye çalışmak. Haa balığı tutarlar tutmazlar o onların problemi. Bakıyorum yabancı sitelerden içeriği Türkçe’ ye çevirmiş kendi yazmış gibi insanlara lanse edip popüler olmuş insanlar var. Bunları görünce canım sıkılıyor açıkcası, kim bilir belkide kıskanıyorumdur, adamın çakma yazısına 10′ larca yorum yazılmış, benim çoğu zaman saatlerimi alan yazılarıma kimse yorum yazmıyor. Yorum yazılmasıda çok umrumda değil ama eften püften şeylere yazıldığını görünce tepem atıyor. Bu durumdan sadece ben değil çoğu insan rahatsız. Sözde markalaşmış, bir tane icraatı olmayan okadar insan varki neyse gün gelir hak yerini bulur. Demek ki benim yazdıklarımdan birşey olmaz, burdan bunu çıkarıyorum. Uzun bir süre .net üzerine yada diğer yazılımsal olaylar üzerine birşey yazmayı düşünmüyorum. Bol bol resim ekleyebilirim, çünkü inanılmaz şekilde ziyaretçi çekiyor, dikkat çekiyor !

Trabzon: Güzel ülkemin bana göre en güzel şehri. Gittim, gezdim, gördüm bizim insanımız, havamız, suyumuz hiç bir yerde yok. Neysek oyuz abi, gurur duyuyorum Trabzon’ lu olmaktan. Oyunlar oynanıyor üzerimize ama dediğim gibi sadece oynarlar, herkes yer biz yemeyiz !

Ahan unuttum yine yazacağım şeyleri, neyse çok önemli değil aklıma gelirse yazarım. Heh iyi geldi aklıma yine dizi sezonu açıldı, nasıl geçecek bu kış bilemiyorum :( Allah büyük belki bu sene Rtük akıllanır da alayını yayından kaldırır. Hadi eyvallah..

Flash oyun – Fragger

Evet yaz yaz yaz nereye kadar ! arada sırada dinlenip eğlenmek lazım, en büyük zevklerimin arasında yeralan flash oyunları bundan sonra sizlerlede paylaşmak istiyorum. Yanlış anlaşılmasın çer çöp oyunları değil en sevdiklerimi en eğlencelilerini paylaşacağım. Eminim çoğunuzun hoşuna gidecektir.

İlk oyunumuzun adı fragger. Amacımız bombalarla hedefleri vurmak. Aşırtma atışlar yapabiliyorsunuz zaten oyunun tadı da orada :) Ben oyunu tüm zorluklarda bitirmeyi başardım. En sonunda tüm haritalar açılıyor ve sınırsız bomba atabiliyorsunuz. İyi eğlenceler.

Oyunu tasarlayanlar genişliği 800px de sanırım sabitlemişler, site üzerinde bazı kısımlar görünmüyor. Tam ekran için buraya tıklayın :)

Ben bunu bilgisayarıma indireceğim derseniz tıklayın. ( Adrese sağ tıklayıp hedefi farkı kaydedin ;) )

Euro NCAP çarpma testleri

Öncelikle kabaca Euro NCAP nedir bunu açıklayayım isterseniz. Bu kuruluş bağımsız olarak araçların dayanıklılık testlerini belirlenmiş kriterlere göre gerçekleştirir ve 5 üzerinden puanlandırır. Belirlenmiş testler, daha önce olmuş binlerce kaza sonuçlarının ortalamasıdır. Resmi sitesinde çarpma testlerinin videoları da bulunuyor. Üretici firmalar piyasaya yeni sürecekleri arabalardan geri dönüşü olmayacak şekilde üçer beşer bu kuruluşa gönderiyor, zaten nasıl geri dönüş olsun ki arabaları adeta hurdaya çeviriyorlar :) Her bir testi haftalar boyu süren çalışmalar sonucunda çok büyük emek ve titizlikle sürdüren bir ekipleri var ki zaten böyle olmalı, bir testi ikinci kez yapmak demek inanılmaz maliyetler demek. Buyurun testlerden bazı resimler..

000 Euro NCAP çarpma testleri 001 Euro NCAP çarpma testleri 002 Euro NCAP çarpma testleri 003 Euro NCAP çarpma testleri 004 Euro NCAP çarpma testleri 006 Euro NCAP çarpma testleri 007 Euro NCAP çarpma testleri 008 Euro NCAP çarpma testleri 009 Euro NCAP çarpma testleri 010 Euro NCAP çarpma testleri 011 Euro NCAP çarpma testleri 012 Euro NCAP çarpma testleri 013 Euro NCAP çarpma testleri 014 Euro NCAP çarpma testleri 015 Euro NCAP çarpma testleri 016 Euro NCAP çarpma testleri 017 Euro NCAP çarpma testleri 018 Euro NCAP çarpma testleri 019 Euro NCAP çarpma testleri 020 Euro NCAP çarpma testleri 021 Euro NCAP çarpma testleri 022 Euro NCAP çarpma testleri 023 Euro NCAP çarpma testleri 024 Euro NCAP çarpma testleri 025 Euro NCAP çarpma testleri 026 Euro NCAP çarpma testleri 027 Euro NCAP çarpma testleri 028 Euro NCAP çarpma testleri 029 Euro NCAP çarpma testleri 030 Euro NCAP çarpma testleri 031 Euro NCAP çarpma testleri 032 Euro NCAP çarpma testleri 033 Euro NCAP çarpma testleri 034 Euro NCAP çarpma testleri 035 Euro NCAP çarpma testleri 036 Euro NCAP çarpma testleri 037 Euro NCAP çarpma testleri 038 Euro NCAP çarpma testleri 039 Euro NCAP çarpma testleri 040 Euro NCAP çarpma testleri 041 Euro NCAP çarpma testleri

Geleceğin araçları..

Gelecek kelimesini duyduğumuzda hemen aklımıza yenilikler geliyor. Her ne kadar teknoloji alanındaki yenilikler zaman zaman hayal gücümüzü zorlasa da araştırmacılar aralıksız yeni buluşların peşinden koşuyor. Dünyanın en büyük sorunlarının başını küresel ısınma ve trafik sıkıntısı çekiyor. Eğer Discovery Channel veya Davinci Learning gibi kanalları izlerseniz geleceğe yönelik çoğu araştırmanın bu yönde yapıldığını görürsünüz. Gezinirken bulduğum bu garip ama işlevsel araçların resimlerini sizlerle paylaşmak istedim.

4teker Geleceğin araçları..
4teker1 Geleceğin araçları..
4teker3 Geleceğin araçları..
4teker5 Geleceğin araçları..
bmw1 Geleceğin araçları..
bmw2 Geleceğin araçları..
bmw3 Geleceğin araçları..
bmw4 Geleceğin araçları..
bmw5 Geleceğin araçları..
bmw6 Geleceğin araçları..
kucukaraba Geleceğin araçları..
kucukaraba1 Geleceğin araçları..
kucukaraba3 Geleceğin araçları..
ucanaraba Geleceğin araçları..
ucanaraba0 Geleceğin araçları..
ucanaraba1 Geleceğin araçları..
ucanaraba3 Geleceğin araçları..


jQuery ile sürükle bırak yaparak sıralama işlemi

Sıralamadan kastım, kategori sıralama olabilir, eklenti sıralama olabilir, yazı sıralama olabilir vb.. Normalde sıralama işlemlerini yapabilmek için epeyce kod yazmaktan ziyade kullanıcının nasıl en rahat şekilde kullanabileceğinin hesabını kitabını sıklıkla yapıyoruz. Sağolsun  jQuery‘ nin Ui (kullanıcı arayüzü (user interface)) imdadımıza yetişiyor. Önce  sıralama (sortable) fonksiyonunu kullanıyoruz, daha sonra veriyi serileştiriyoruz (serialize) sonrada ajax ile postalıyoruz.Hemen kodlarımıza bakalım. Öncelikle bu iki dosyayı  Jquery Ui indirelim ve sayfamıza ekleyelim.Veritabanımızdaki kategoriler tablomuz.

	CREATE TABLE [kategoriler] (
	  [id] int IDENTITY(1, 1) NOT NULL,
	  [kategoriadi] nvarchar(50) NULL,
	  [sira] int NULL,
	  PRIMARY KEY CLUSTERED ([id])
	)
	ON [PRIMARY]
	GO

 

sirala.aspx sayfamızın içeriği

	<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
	<script type="text/javascript" src="jquery-ui-1.7.1.custom.min.js"></script>
	body {
		font-family: Arial, Helvetica, sans-serif;
		font-size: 16px;
		margin-top: 10px;
	}
	#icerik ul{
	    margin:0;width:300px
	}
	#icerik ul li {
		list-style: none;
		margin: 0 0 4px 0;
		padding: 5px;
		background-color:#007dd5;
		color:#fff;
	}
	#icerik li:hover{
	    cursor:move;
	}
	.yeniyer{border:2px dotted #860101}
<script type="text/javascript">
$(document).ready(function(){
    $(function() {
	    $("#icerik ul").sortable({
	        placeholder: 'yeniyer',
	        opacity: 0.6,
	        cursor: 'move',
	        update: function() {
		    var order = $(this).sortable("serialize");
		    $.post("kaydet.aspx", order);
	    }
	    });
    });
});
</script>
	<div id="icerik">
        <ul>
	         <asp:Literal runat="server" ID="liste"></asp:Literal>
        </ul>
    </div>

Sirala.aspx.cs sayfamızın içeriği

 protected void Page_Load(object sender, EventArgs e)
 {
 if(!IsPostBack)
 {
 listeDoldur();
 }
 }

protected void listeDoldur() {
 DataTable dt = veritabani.DataTableGetir("select * from kategoriler order by sira asc");
 foreach (DataRow dr in dt.Rows)
 {
 liste.Text += "

	<li id="\&quot;sira_&quot;">" + dr["kategoriadi"].ToString() + "</li>

";
 }
 }
 

kaydet.aspx.cs sayfamızın içeriği, yani sıralama işlemlerini veritabanına yazan sayfamız.

 protected void Page_Load(object sender, EventArgs e)
 {
 string gelen = Request.Form.ToString().Replace("%5b%5d", "[]").Replace("sira[]=", "");
 char[] ayrac = new char[] { '&amp;' };
 string[] gelenler = gelen.Split(ayrac);
 int i = 1;
 foreach (string veri in gelenler)
 {
 veritabani.guncelle("Update kategoriler set sira='" + i + "' where id=" + veri + " ");
 i++;
 }
 }
 

Örneğin tamamını indirmek için tıklayın. Çalışan örneğe buradan bakabilirsiniz.

Basit bir alış veriş sepetinin mantığı.

Elimden geldiğince e-ticaret sitelerinin en önemli unsurlarından biri olan alış-veriş sepeti mantığını anlatmaya çalışacağım. Bu konuya değinmemin sebebi sürekli sorulan
ve korkulan bir konu olması. Esasında oldukça basit olan bu yapıya adım atmadan
önce bize neler lazım bunlara bir bakalım.

2 Adet tablo işimizi görecektir.
Bunlardan biri stoklarımızın olacağı stoklar ve sepetimizde
saklayacağımız bilgilerin bulunacağı sepet tablosu.

--stoklar
CREATE TABLE [stoklar] (
[id] int IDENTITY(1, 1) NOT NULL,
[stokadi] nvarchar(300),
[fiyat] decimal(10, 2) NULL,
[parabirimi] nvarchar(5),
PRIMARY KEY CLUSTERED ([id])
)
ON [PRIMARY]
GO

--sepet
CREATE TABLE [sepet] (
[id] int IDENTITY(1, 1) NOT NULL,
[stok_id] int NULL,
[kullanici_id] int NULL,
[adet] int NULL,
[eklenmezamani] datetime NULL,
PRIMARY KEY CLUSTERED ([id])
)
ON [PRIMARY]
GO
[/html]Tablolarımız görüldüğü üzere oldukça basit, sepete ürün eklemek için
yapacağımız işlem şu, stoklar tablosundaki id değerini alıp
sepet
tablosundaki stok_id alanına yazmak. Sepet tablomuzda bulunan
kullanici_id alanı ise sepetin hangi kullanıcıya ait olduğunu anlamamız için
sepete ürün ekleyen kullanıcının id bilgisi. Genelde üye giriş yaptığı zaman bu
değeri bir sessiona atıyoruz. Sepet tablosuna yeni kayıt eklerken bu bilgiyide
ilgili alana yazıyoruz. Örnek bir sql cümlesi yazalım.

-- kullanıcımızın id değeri 1
-- stoklar tablomuzdaki stoğun id değeri 5
-- adetimiz ise 1 olsun

insert into sepet (stok_id,kullanici_id,adet,eklenmezamani) values ('5','1','1',getDate())
[/html]

Eğer kullanıcı sepetine daha önceden eklemiş olduğu ürünü tekrar eklemek
isterse adet bilgisini arttırmak içinse şöyle bir cümle işimizi görecektir.

if not exists(select id from sepet where stok_id=5 and kullanici_id=1)
insert into sepet (stok_id,kullanici_id,adet,eklenmezamani) values ('5','1','1',getDate())
else
Update sepet set adet=adet+1 where stok_id=5 and kullanici_id=1
[/html]

Kullanıcıya sepetindeki ürünleri göstermek içinse

	Select stoklar.stokadi,stoklar.fiyat,stoklar.parabirimi,sepet.adet from sepet,stoklar where sepet.stok_id = stoklar.id order by sepet.id desc
[/html]
Kullanıcıya sepetteki ürünleri gösterirken neden stoklar tablosuna bağlanıp
fiyat, para birimi ve stok adı gibi verilerini alıyoruz ? Sepete ekleme yaparken
bu bilgileri de girseydik daha rahat olmazmıydı ? gibi soruları duyar gibiyim.
Bunun sebebi şu, kullanıcının sepetine ürünleri eklediğini varsayalım, aradan
bir zaman geçti ve ürünün fiyatı değişti aynı şekilde para birimi veya ürünün
adı da değişti. Buyurun ayıklayın pirincin taşını :) Ürün kullanıcı sepetine
eklendiğinde 30 liraydı 1 hafta sonra 40 lira oldu, 10 lira zarardasınız.
Gösterdiğim şekilde siz stoktan herhangi bir ürünün bilgisini değiştiğinizde tüm
kullanıcılar güncel stok bilgilerini görebilirler. Yani bu iki tablo bir
birleriyle ilişki içerisindedir.

Çok karışık olmadığını düşündüğüm bir konu, sadece kayıt ekliyoruz okadar.
Bir sonraki yazıda örneklerle bu işlerimin nasıl çalıştığını, ürünlerin fiyat
toplamlarını vb.. sepet işlemlerini anlatmaya çalışacağım. Umarım faydalı olur.

Ts Club resmi sitesi yayına girdi.

Uzun zamandır üzerinde çalıştığımız Trabzonspor‘ umuzun lisanslı ürünlerinin satıldığı resmi alış veriş sitesi yayına girdi. Sözenler Yazılım ve İnterdizayn ortaklığıyla yapılan sitede, bizim üstlendiğimiz rol sitenin yazılım kısmıydı ve bende bunun üzerine yazmak istedim.

tscomtr Ts Club resmi sitesi yayına girdi.Siteyi Asp.Net C# (fw 3,5) ile kodladık ve veritabanı olarak da Mssql 2005 kullandık. Veritabanının tasarımı Trabzon Spor Bilgi İşlem Müdür Yardımcısı Emre Tekelioğlu‘ na ait. Sadece veritabanı değil, sitenin işleyişiyle de ilgili verdiği fikirler ve gördüğü köprü göreviyle sitenin üzerinde büyük emeği olan Emre abiye sevgi ve saygılarımı sunuyorum. Sitenin görülmeyen yüzünde gerçekten güzel bir yapı var. Stok-Cari-Fatura mantığındaki işleyiş sayesinde stokların doğruluğu ekstrem durumlar dışında %100 sağlıklı. Yani gerçek stok bilgisi anlık kullanıcılara sunuluyor. Kategori, alt kategori ve bunlara ait özellik ve alt özellikler gibi bir kategorilendirme sistemi bulunuyor. Bu sayede yeni bir stok kartı açılırken o stok kartına ait önceden tanımlanmış özellikler hızlı ve pratik bir şekilde girilebiliyor. Örneğin beden, renk, numara vb.. Bu özelliklere de ekstradan stok girişi yapılabiliyor. Yani FORMA PARÇALI TTK stoğunun X bedeninden stokta 10 tane varken L bedeninden 2 tane olabiliyor. Stok envanterinin sağlıklı takip edilebilmesi için, satışların ve ödemelerin takibi içinde tüm kriterlerin seçilebildiği bir raporlama sistemi mevcut. Her geçen gün geliştirdiğimiz bu yapıda ilerleyen günlerde taraftar kartına ekstra indirim vb.. uygulamalarda yerini alacak. Alt yapıda bir e-ticaret sitesinde ne olması gerekiyorsa hemen hemen her şey bulunuyor. Gün geçtikçe çok daha güzel olacağına inanıyorum.

Siteyi açtığımız günden beri bir sürü eleştiri aldık almaya da devam ediyoruz. Ama şunu söylemeden edemeyeceğim çoğu zaman eleştiriler hakaret boyutunda oluyor ve hiç bilgi sahibi olmayan insanlar boylarından büyük bir üslupla atıp tutuyorlar. Olsun atıp tutsunlar, sorun değil biz gönül verdiğimiz renkler için elimizden gelenin en iyisini yaptığımızı ve yapacağımızı düşünüyoruz.

Yakın zamanda eklemeyi düşündüğüm yazılardan bazıları.

Bu aralar siteme gerekli ilgi alakayı gösteremiyorum. Takip eden arkadaşlar için önümüzdeki günlerde neler üzerine yazılar yazacağımı paylaşmak istedim. Kafamda iki ana konu bulunuyor bunlardan birincisi e-ticaret sitelerindeki sepet olayı, ikincisi de sanal pos. Bu iki konuyu da bölümler halinde ele almayı düşünüyorum, bölümler ise şu şekilde olacak.

1- Sepet

  • Veritabanı tasarımı. (basit bir stok ve sepet tablosu)
  • Sepet işlemleri. (Ürün ekleme, adet güncelleme, silme ve toplamlar)

2- Sanal pos

  • Sanal pos ile ilgili genel bilgiler.
  • Garanti, Akbank ve Yapı Kredi bankası sanal pos kurulumları.
  • Pos sistemini sahte numaralara karşı koruma yöntemleri.

digitalage ile tekrar heycanlanmak.

Bilgisayarla tanışmam tahmin ediyorum bundan 8-9 yıl önceydi. Ay başlarını iple çekerdim, çünkü yenilikleri öğrenme hastasıydım o zamanlarda internet kelimesini sadece duyuyordum ne olduğunu bile tam olarak bilmiyordum zaten bilgisayarımda modemde yoktu :) En yakın dergi satıcısından Chip başta  olmak üzere tüm bilgisayar dergilerini toplar alırdım ve koşa koşa eve gidip okumaya başlardım. Bu heycanı kelimelere dökmem mümkün değil, çünkü daha digitalage logoönce hiç duymadığım şeyleri okuyor anlamaya çalışıyordum ozamanlar sadece anlamaya çalışıyordum ne yalan söyliym çoğu şeyden tek kelime dahi anlamıyordum. Aradan geçen zaman ve internetin hayatımıza girmesi bu öğrenme şeklini tam anlamıyla dijitalleştirdi. Özellikle okuldan uzaklaştığım bir kaç yılda ne gerçek ortamda bir şey okudum nede yazdım. Bilgisayarla geçirdiğim zamanlar giderek artıyordu, çünkü artık devir benim devrimdi önceden okuyup anlamaya çalıştığım şeyleri anlamıştım. Helede gün gelmiş ve Byte dergisinde yazılarım yayınlanmaya başlamıştı ki değmeyin keyfime :)

Azcıkta olsa geçmişi özetledikten sonra gelelim asıl konumuza. 2009 Blog ödüllerinde Teknoloji kategorisinde 2. olduğum için digitalage dergisine 6 ay ücretsiz abonelik hediye edilmişti. Açık konuşmak gerekirse ilk kez duyduğum bir dergiydi, hele ki teknoloji dergiciliğinin artık can çekiştiğini düşündüğümden olacak ki kapağına baktından sonra dergiyi köşeye bıraktım ve dersin başına oturdum. İlk yarım saatten sonra derginin içinde acaba ne var diye düşünmeye başladım, konsantrem iyice bozuldu dedim bakayım nedir bu dergi. Ambalajını söktüğümde ilk dikkatimi kokusu ve sağ üst tarafında ki tasarımsal kesiklik çekti. Ay ne uzattım ne uzatıım :) Sayfaları çevirdikçe içerik beni zevkten öldürüyordu çünkü tam benlikti. Çok ilgimi çeken fakat bir türlü konsantre olup inceleyemediğim konular, sanki özenle seçilip kaleme alınmıştı. Seçilen konular harikaydı, resmen yıllar önce okuduğum dergilerin heycanını duyuyordum ve bu durum çok hoşuma gitti. Bu yazıyı yazmamı tetikleyen bu kısım değildi çünkü şansıma güzel konular denk gelmiş olabilirdi, bu ay yeni sayısı yine geldi ve içerik geçen aykini aratmayacak güzellikte ve kalitedeydi üstelik İnternet Zenginleri adlı kitapta yanında hediyesiydi. Eve geleli 1 saat oldu ve sadece başlıklara göz gezdirdim çünkü çok yorgunum ve bu bilgi ziyafetini dinlek kafayla çıkartmak istiyorum. Uzun lafın kısası bu mükemmel dergiyi abonelik bittikten sonra almaya şiddetle devam edeceğim. Dijital dünyayla uğraşan tüm herkese de şiddetle tavsiye ediyorum. İnanın çok şey kaçırabilirsiniz :) Dergiyle tanışmama vesile olan herkeselere kocaman sevgilerimi saygılarımı sunuyorum, sizleri seviyorum modern teknoloji insanları, kalın sağlıcakla..

Aynı kullanıcı adı daha önceden kullanılmışmı doğrulaması.

Bir kullanıcı kayıt formumuz varsa, önceden kaydedilmiş kullanıcıyı tekrardan
kaydetmemek için bir kontrol yapıp, yeni üye olacak kullanıcıya bu kullanıcı adı
kullanımda gibisinden bir hata verdirmemiz gerekir. Çünkü aynı kullanıcı adından
2 veya daha fazla olursa karışıklıklar meydana gelir ve bunu kimse istemez.
Mantığımız çok basit, yeni yazılan kullanıcı adını eski kayıtlar içerisinden
kontrol edip eğer varsa uyarı veriyor yoksa kayıt işlemini tamamlıyoruz. Bunu
tek bir sql cümlesinde çözmemizde mümkün fakat yeni başlayan arkadaşların olayın
mantığını anlaması açısından c# da kod yazarak bu sorunu çözeceğiz.

Düzenleme
Kullanıcı adını yazıp diğer textboxa geçtiğiniz anda kontrolü yapıp, kullanıcı adı yanına anında müsaitmi değilmi bilgisini yazdırıyoruz. Burada textboxın ontextchanged özelliğinden faydalanıyoruz. Eğer işlem gerçekleştirilirken sayfanın postBack olmasını istemiyorsanız formu UpdatePanel içine alarak isteği gerçekleştirebilirsiniz.

[/html]
SqlConnection conn = new SqlConnection(veritabani.baglanti());//bağlantı cümleniz burada olacak.
protected void Button1_Click(object sender, EventArgs e)
{
if (!kontrol(kullaniciadi.Text)) { //False ise, yani böyle bir kullanıcı yoksa ekleme işlemini yapıyoruz.
SqlCommand sql = new SqlCommand(“insert into kullanicilar (kullaniciadi,sifre,telefon) values (‘”+kullaniciadi.Text+”‘,’”+sifre.Text+”‘,’”+telefon.Text+”‘)”, conn);
conn.Open();
sql.ExecuteReader();
conn.Close();
sql.Dispose();
kullaniciadi.Text = null;
sifre.Text = null;
telefon.Text = null;
mesaj.Text = “Kayıt başarıyla yapıldı !”;
}
else
{
mesaj.Text = “Bu kullanıcı adı kullanımda !”;
}
}

private bool kontrol(string gelenkullanici) {
bool varmisinYokmusun;
SqlCommand sql = new SqlCommand(“Select * from Kullanicilar where kullaniciadi=’”+gelenkullanici+”‘”, conn);
conn.Open();
SqlDataReader dr = sql.ExecuteReader();
//eğer kayıt varsa True, yoksa False döndürüyoruz.
varmisinYokmusun = dr.HasRows;
conn.Close();
dr = null;
return varmisinYokmusun;
}

protected void kullaniciadi_TextChanged(object sender, EventArgs e)
{
if (kontrol(kullaniciadi.Text))
{
durum.Text = “Bu kullanıcı adı kullanımda !“;
}
else
{
durum.Text = “Bu kullanıcı adı müsait !“;
}
}
[/html]

		<table border="1" width="100%">
	        <tr>
		        <td>kullanıcı adı</td>
		        <td>
                    <asp:TextBox AutoCompleteType="Disabled" ID="kullaniciadi" runat="server" ontextchanged="kullaniciadi_TextChanged" AutoPostBack="true"></asp:TextBox>
                    <asp:Label runat="server" ID="durum"></asp:Label>
                </td>
	        </tr>
	        <tr>
		        <td>şifre</td>
		        <td>
                    <asp:TextBox ID="sifre" runat="server"></asp:TextBox></td>
	        </tr>
	        <tr>
		        <td>telefon</td>
		        <td>
                    <asp:TextBox ID="telefon" runat="server"></asp:TextBox></td>
	        </tr>
	        <tr>
		        <td><asp:Label runat="server" ID="mesaj" ForeColor="Red"></asp:Label></td>
		        <td>
                    <asp:Button ID="Button1" runat="server" Text="Ekle !" onclick="Button1_Click" /></td>
	        </tr>
        </table>

Çalışan örneğe

buradan
ulaşabilirsiniz.
Bu yazıyı aldığım bir eposta üzerine yazdım, umarım faydalı olmuştur. Herkese iyi çalışmalar.

Sayfa 8 toplam 23 sayfa« Önceki...4567891011121320...Sonraki »