Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > asp.net sql baglantısı?
Yazar
egge


avatar

Kayıt: 15.05.2007
06.09.2007-11:55 #27047
sql den veri cekerek isim şifre kontrolu yapan bi login i nasil yapabilirim?


şimdiden cok tesekkurler





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
06.09.2007-14:08 #27050
Birinci yol .net in kendi bileşenleri var onları kullanabilirsin. bunun için solution explorer kısmında asp.net configuration'a (üzerinde dunya resmi olan ) tıklayıp ayarlarını yapman lazım. sonra login controlleri filan var onları kullanabilirsin. asp.net sitesinde bunla ilgili videolar var.

İkinci yol
kendi veritabanını tasarlarsın. şöyle olduğunu varsayalım.
 

tablo :
t_kullanici
alanlar:
varchar(20) kullaniciadi
varchar(20) sifre

şöyle bir sql yazarsın
 

select kullaniciadi,sifre from t_kullanici where kullaniciadi=formdangelenveri and sifre=formdangelenveri

eğer bu sql satır döndürüyor ise kullanıcı adı şifre vardır. kullanıcının session'a login=true şeklinde bi değer atarsın. diğer sayfalarda da bu değeri kontrol edersin. eğer sesion unda o değer yok ise login sayfasına yönlendirirsin
burda dikkat etmen gereken iki şey var.
birincisi sql cümlene formdan gelen veriyi koymadan önce form verisindeki tek tırnak işaretini kontrol etmen lazım. bir şekilde sql cumlene veri soktu ise sql cümlen sonucunda dönen değerler ile formdan gelen değerleri karşılaştır.






N/A
Yazar
aliolci


avatar
en dipten taa derind
Kayıt: 19.01.2006
06.09.2007-14:17 #27052
sifre kontrolunun yapıldıgı sorgu.aspx.cs
int durum=-1;
        SqlConnection con = new SqlConnection("data source=db veri yolu; user id=db kullanıcı adı;pwd=db sifre;"));
        con.Open();
        SqlCommand komut = new SqlCommand();
        
        komut.Parameters.AddWithValue("@id", txtKulAd.Text);
        komut.Parameters.AddWithValue("@psw", txtSifre.Text);
     //Sql injection acığından korunmak icin kullanıcının girdiği kullanıcı adı ve sifre veri girislerini parametre cinsinden veri tipi olarak kabul ediyoruz
        
        
        komut.CommandText = "select * from admin where kulAd=@id and sifre=@psw";
        durum = komut.ExecuteNonQuery();// eger kullanıcı adına karsılık gelen sifre dogruysa bir int deger doner
        
        con.Close();

        if (durum != -1)
        {
            Session.Add("giris", 1);// bir session acarak dogru giris yapılması halınde bu degere 1 ataması yapılır
            Response.Redirect("ok.aspx");//dogru girisin yapılması halinde gidilecek sayfa
        }
        else
            txtHata.Text = "Hatalý kullanýcý adý ya da þifre";
    
    }



ok.aspx sayfasının page_Load fonksiyonuna
if(Session["giris"]==1)
{

}
else
Response.Redirect("sorgu.aspx");



yazılarak kullanıcının login isleminden gecip gecmedigi kontrol edilir eger gecmediyse sorgu sayfasına yonlendirilir

sorgu.aspx e sadece txtKulAd ve txtSifre adında 2 textbox txtHata adonda bir label birde gonder butonu eklemen yeterli





Cant you see the writing on the wall?
"die young gonna die young"
So! Live for today
Tomorrow never comes..

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb