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.

  • http://www.yasinersever.com Yasin Ersever

    Konu hakkındaki yardımınız için çok teşekkür ederim. Bu tür eğitici yazıları bizlerle paylaştığınız için kutlarım sizi…

    İyi günler, iyi çalışmalar…

  • http://www.3renk.com web tasarım

    gerçekten cok yaralı bu paylaşım bu konu hakkında bilgis olmayanlar için açık kotlar:D

  • http://www.moreclick.com google reklam

    Teşekküreler tam aradığım konu elinize saglık herzaman yeni koular bekleriz bilgini bizle baylaş :D

  • http://www.renkhane.com yirmiuc

    teşşekkürler. çok üzel dokuman.