İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Asp.Net ile Üyelik Sistemi

CaNeRiuM

0
İyinet Üyesi
Onaylı Üye
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.

2009_04_08_215435.jpg


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

2009_04_08_215600.jpg


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

2009_04_08_220552.jpg


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

2009_04_08_225028.jpg


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

2009_04_08_220721.jpg


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

2009_04_08_220806.jpg


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

2009_04_08_221044.jpg


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.

2009_04_08_221206.jpg


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

2009_04_08_221243.jpg


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.

2009_04_08_221400.jpg


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
 

osahin

0
İyinet Üyesi
Katılım
8 Ekim 2006
Mesajlar
4,978
Reaction score
34
Konum
kalbinizden :p
Veri tabanının nasıl oluşturulacağı konusunda bilgi var aslında burda, asp.net komutlarının hangisini niçin kullandığınıda yazsaydın daha faydalı olurdu
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst