- Katılım
- 10 Mart 2008
- Mesajlar
- 210
- Reaction score
- 2
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;
Default.aspx.cs kısmındaki kodlar;
UyelikSistemi.aspx sayfasını oluşturan Html tag'ler;
UyelikSistemi.aspx.cs
kısmındaki kodlar;
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
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 id="formFrm" 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 ID="lblGirisYapanUye" runat="server"></asp:Label>
sitemize hoşgeldiniz !!!</h3>
</td>
</tr>
<tr>
<td style="text-align: center; background-color: #0066FF">
<asp:Button ID="btnCikisYap" 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"] == lisanssız)
{
// Ü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 id="formFrm" 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 ID="txtKullaniciAdi" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Parola:</td>
<td>
<asp:TextBox ID="txtParola" runat="server" TextMode="Password"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" style="text-align: center">
<asp:Button ID="btnGirisYap" runat="server" onclick="btnGirisYap_Click"
Text="Giriş Yap" />
</td>
</tr>
<tr>
<td colspan="2" style="text-align: center">
<asp:Label ID="lblMesaj" 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"] != lisanssız)
{
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