Kullanıcı giriş yapmak için butona tıkladığında çalışacağı kodu aşağıdaki gibi yazıyoruz.
protected void Giris_Click(object sender, EventArgs e) { try // bir hata olmaması için kullanıcının farketmemesi için try catch bloğu içine yazıyoruz. { var connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString; // yukarıda connectionstringi web configden "myConnectionString" adı ile okuyoruz. // isterseniz normal connection da yazabilirsiniz. SqlConnection cnn = new SqlConnection(connStr); // Burada connection nesnesini yaratıyoruz. SqlCommand cmd = new SqlCommand("Select * from Kullanici where Kullaniciad=@ad and Sifre=@sifre", cnn); // Yukarıda veritabanına bağlanıp sorgulama işlemi için, kullanıcı tablosunda ad ve şifre varmı diye bağlanıp sorguyu yazıyoruz. cmd.Parameters.AddWithValue("@ad",username.Text); cmd.Parameters.AddWithValue("@sifre",password.Text); //sql injection açığına dikkat etmek için sorguya parametre geçiyoruz. cnn.Open(); // bağlantımızı açıyoruz SqlDataReader rd = cmd.ExecuteReader(); // sorguyu çalıştırıp gelen değeri sqldatareader nesnesine atıyoruz. if (rd.HasRows) //rd nesnemizde bir değer varmı diye kontrol ediyoruz. { while (rd.Read()) //gelen değeri while ile satır satır okuyoruz. { Response.Write("Giriş Yaptınız. " + rd[0].ToString()); //ekrana giriş yaptınız ve kullanıcı adını yazdırıyoruz. Session["adi"] = username.Text; // session oluşturuyoruz ve oluşturduğumuz "adi" sessiona kullanıcı adını atıyoruz. Response.Redirect("/Default.aspx"); // giriş yaptığı için sayfayı default aspx sayfasına yönlendiriyoruz. } } else { Response.Write("Bilgileri Yanlış Girdiniz.Lütfen Daha sonra Tekrar Deneyin."); //giriş yapamadığı için hata mesajı ekrana bastırıyoruz. } cnn.Close(); } catch (Exception ex) { Response.Write(ex.ToString()); } }