Asp.Net ile Üyelik Sistemi
Bu makalemizde Asp.Net ile üyelik sisteminin nasıl yapıldığını kısaca ele alacağım.
Bunun için File | New | Web Site komutunu vererek yeni bir proje oluşturuyoruz.

Gelen New Web Site penceresinden ASP.NET Web Site’ı seçip OK düğmesine tıklıyoruz.

Daha sonra projemizin üzerinde sağ tıklayarak Add New Item komutunu veriyoruz.

Ve projemize bu şekilde Default.aspx ve UyelikSistemi.aspx adında iki adet Web Page ekliyoruz.

App_Data klasörü üzerinde de aynı işlemi yaparak bir adet Sql Server Database ekliyoruz.

Database’i ekledikten sonra Solution Explorer penceresine gelerek üzerinde sağ tıklayıp Open komutunu veriyoruz.

Ekrana gelen Server Explorer penceresinde Database’imiz altında bulunan Tables sekmesinde sağ tıklayarak Add New Table komutunu veriyoruz.

Ve UyeID(int, Birincil Anahtar), KullaniciAdi(varchar(50)), Parola(varchar(50)), Adi(varchar(50)), Soyadi(varchar(50)) şeklinde sutunlar ekliyoruz. Bunları kendi istediğimize göre daha fazlada ekleyerek kullanıcının birçok bilgisini saklayabiliriz.

UyeID alanını birincil anahtar yapmak için Set Primary Key komutunu veriyoruz.

Daha sonra alt kısımda bulunan Column Properties kısmında Is Identity alanını Yes olarak değiştiriyoruz. Bu işlem eklenen her üye için UyeID alanının otomatik olarak 1 armasını sağlayacak.

Bu işlemlerden sonra tablomuzu Uyeler ismi ile kaydediyoruz.

Eklediğimiz tablo üzerinde sağ tıklayarak Show Table Data komutunu veriyoruz.

Ekrana tablomuzun veri görünümü gelecektir. Burada birkaç adet manuel olarak kayıt giriyoruz.

Kodlar:
Default.aspx sayfasını oluşturan Html tag’ler;
___________________________________________________________________________________________
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head runat=”server”>
<title>Üyelik Sistemi</title>
</head>
<body>
<form runat=”server”>
<div>
<table align=”center” style=”color: #FFFFFF” width=”600″>
<tr>
<td style=”text-align: center; background-color: #0066FF”>
<h3>
Asp.NET ile Üyelik İşlemleri</h3>
</td>
</tr>
<tr>
<td height=”150″ style=”text-align: center; background-color: #3399FF”>
<h3>
Sayın,
<asp:Label runat=”server”></asp:Label>
sitemize hoşgeldiniz !!!</h3>
</td>
</tr>
<tr>
<td style=”text-align: center; background-color: #0066FF”>
<asp:Button runat=”server” onclick=”btnCikisYap_Click”
Text=”Çıkış Yap” />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
____________________________________________________________________________________________

Default.aspx.cs kısmındaki kodlar;
____________________________________________________________________________________________
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Eğer herhangi bir kullanıcı yok ise
if (Session["UyeID"] == null)
{
// Üye giriş sayfasına yönlendir
Response.Redirect(“UyeGirisi.aspx”);
}
else
{
// Varsa ekrana adını soyadını yaz
lblGirisYapanUye.Text = Session["AdiSoyadi"].ToString();
}
}
protected void btnCikisYap_Click(object sender, EventArgs e)
{
// Bütün Session değerlerini sıfırlayarak kullanıcının sistemden çıkış yapması sağlanır
Session.Abandon();
}
}
____________________________________________________________________________________________
UyelikSistemi.aspx sayfasını oluşturan Html tag’ler;
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head runat=”server”>
<title>Üye Girişi</title>
</head>
<body>
<form runat=”server”>
<div>
<table align=”center”>
<tr>
<td colspan=”2″
style=”text-align: center; color: #FFFFFF; background-color: #0066FF”>
<h3>
Üye Girişi</h3>
</td>
</tr>
<tr>
<td>
Kullanıcı Adı:</td>
<td>
<asp:TextBox runat=”server”></asp:TextBox>
</td>
</tr>
<tr>
<td>
Parola:</td>
<td>
<asp:TextBox runat=”server” TextMode=”Password”></asp:TextBox>
</td>
</tr>
<tr>
<td colspan=”2″ style=”text-align: center”>
<asp:Button runat=”server” onclick=”btnGirisYap_Click”
Text=”Giriş Yap” />
</td>
</tr>
<tr>
<td colspan=”2″ style=”text-align: center”>
<asp:Label runat=”server”></asp:Label>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
____________________________________________________________________________________________

UyelikSistemi.aspx.cs kısmındaki kodlar;
// Sql veritabanı isim alanımızı tanımlıyoruz
using System.Data.SqlClient;
public partial class UyeGirisi : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Eğer zaten bir kullanıcı giriş yapmış ise Default sayfasına yönlendir
if (Session["UyeID"] != null)
{
Response.Redirect(“Default.aspx”);
}
}
protected void btnGirisYap_Click(object sender, EventArgs e)
{
// Veritabanı bağlantısı için SqlConnection nesnemizi oluşturuyoruz
SqlConnection baglanti = new SqlConnection(@”Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UyelikSistemi.mdf;Integrated Security=True;User Instance=True”);
// Gerekli sorgumu yapabilmek için SqlCommand nesnemizi oluşturuyoruz
SqlCommand sorgu = new SqlCommand(“SELECT * FROM Uyeler WHERE KullaniciAdi=’” + txtKullaniciAdi.Text + “‘ AND Parola=’” + txtParola.Text + “‘”, baglanti);
// Veritabanı bağlantımızı açıyoruz
baglanti.Open();
SqlDataReader oku = sorgu.ExecuteReader();
// Eğer bir kayıt okunuyorsa
if (oku.Read())
{
// Okunan verileri Session’larda sakla
Session["UyeID"] = oku["UyeID"].ToString();
Session["AdiSoyadi"] = oku["Adi"].ToString() + ” ” + oku["Soyadi"].ToString();
// Giriş sayfasına yönlendir
Response.Redirect(“Default.aspx”);
}
else // Böyle bir kayıt okunamadıysa
{
lblMesaj.Text = “Böyle bir kullanıcı bulunamadı !!!”;
}
oku.Close(); // Reader nesnesini kapat
baglanti.Close(); // Bağlantı nesnesini kapat
}
}
____________________________________________________________________________________________
Açıklamalar:
“Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UyelikSistemi.mdf;Integrated Security=True;User Instance=True” : App_Data klasörü altındaki veritabanımızın standart ConnectionString’idir.
“SELECT * FROM Uyeler WHERE KullaniciAdi=’” + txtKullaniciAdi.Text + “‘ AND Parola=’” + txtParola.Text + “‘”: Giriş bilgilerini ekrandaki textBox’lardan alarak veritabanını kontol eden sorgumuz.
Session: Sayfalar arasında kullanıcılarak ait bilgileri taşımak için kullanılan bir nesne. Session nesnesine hemen hemen her yerden erişilebilinir. Bu nesne hakkında daha ayrıntılı bilgi edinmek isterseniz http://www.csharpnedir.com/makalegoster.asp?MId=428 adresini ziyaret edin.
Yanlış giriş yaptığımızda aldığımız uyarı:

Doğru giriş yaptığımızda yönlendirildiğimiz default sayfası:

Kaynak dosyayı indirmek için tıklayın.
Mustafa güzel bir örnek olmuş
Teşekkürler İbrahim. Sendende güzel makaleler bekleriz