Asp.Net Üyelik Sistemi Ders 1 – Üye Giriş ve Üye Olma
Bu dersimizle beraber asp.net ile basit bir üyelik sistemi yapacağız, üyelik sistemini aşağıdaki başlıklar altında yapacağız.
1-Üye Giriş ve Üye Olma
2-Unutulan Şifreyi Yenileme (Sıfırlama)
3-Üye Sayfası ve Profil Güncelleme.
Sözü fazla uzatmadan Asp.Net ile Üyelik Sistemini oluşturmaya başlayalım. İlk olarak üye bilgilerini kaydetmek için gerekli olan veritabanını oluşturalım
veri tabanını oluşturduktan sonra
projemize App_Data klasörü altına ekliyoruz
Şimdi ilk olarak üye giriş sayfamızı oluşturalım
<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Asp.Net Örnekleri, Asp.Net Dersleri, Asp.Net Uygulamları, www.AspNetOrnekleri.com </title> </head> <body> <form id="form1" runat="server"> <asp:Label ID="lblbaslik" runat="server" Font-Size="X-Large" Text="Üye Girişi :"></asp:Label> <br /> <asp:Label ID="lbldurum" runat="server"></asp:Label> <table border="1" cellpadding="2" cellspacing="2" width="281"> <tr> <td width="135"> <asp:Label ID="lbluyeadi" runat="server" Text="Üye Adı :"></asp:Label> </td> <td width="126"> <asp:TextBox ID="txtuyeadi" runat="server" Width="108px"></asp:TextBox> </td> </tr> <tr> <td> <asp:Label ID="lblsifre" runat="server" Text="Şifre :"></asp:Label> </td> <td> <asp:TextBox ID="txtsifre" runat="server" TextMode="Password" Width="108px"></asp:TextBox> </td> </tr> </table> <asp:HyperLink ID="hpluyekayit" runat="server" NavigateUrl="uyekayit.aspx">Yeni Üye Kaydı</asp:HyperLink> <asp:HyperLink ID="hplsifreyenile" runat="server" NavigateUrl="yenisifre.aspx">Şifremi Unuttum - Şifre Temizleme</asp:HyperLink> <br /> <br /> <asp:Button ID="btngiris" runat="server" Text="Üye Girişi" style="height: 26px" onclick="btngiris_Click" /> <input ID="btntemizle" type="reset" value="Temizle" /> </form> </body> </html> <!-- Asp.Net Örnekleri, Asp.Net Dersleri, Asp.Net Uygulamları http://www.AspNetOrnekleri.com -->
using System.Data;
using System.Data.OleDb; satırlarını eklemeyi unutmuyoruz…
Üye Girişi butonuna tıklayarak aşağıdaki kodları yazıyoruz.
protected void btngiris_Click(object sender, EventArgs e) { OleDbConnection db_baglanti; OleDbCommand db_komut; db_baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("App_Data/uye.accdb")); db_baglanti.Open(); string sorgu = "SELECT COUNT(*) FROM bilgiler WHERE uyeadi=@uyeadi and sifre=@sifre"; db_komut = new OleDbCommand(sorgu, db_baglanti); db_komut.Parameters.Add("@uyeadi", OleDbType.VarChar).Value = txtuyeadi.Text; db_komut.Parameters.Add("@sifre", OleDbType.VarChar).Value = txtsifre.Text; int kayitsayisi = (int)db_komut.ExecuteScalar(); db_baglanti.Close(); db_baglanti = null; if (kayitsayisi <= 0) { this.lbldurum.ForeColor = System.Drawing.Color.Red; this.lbldurum.Text = "Kullanıcı Adı veya Şifre Yanlış"; //*** http://www.aspnetornekleri.com ***' } else { Session["uyeadi"] = this.txtuyeadi.Text; Response.Redirect("uye.aspx"); } }
Girilen kullanıcı adı ve şifre kontrol ediliyor eğer üye varsa Response.Redirect(“uye.aspx”); ile uye.aspx sayfasını yönlendiriyoruz, eğer yok ise “Kullanıcı Adı veya Şifre Yanlış”; şeklinde uyarı mesajı veriyoruz…
Bu işlemler kayıtlı üye varsa yapacaklarımız eğer yok ise yeni üye kaydı yapmamız lazım bunun için < asp:HyperLink ID="hpluyekayit" runat="server" NavigateUrl="uyekayit.aspx">Yeni Üye Kaydı satırında belirttiğimiz uyekayit.aspx safyasını oluşturmamız gerekiyor, kodlarımız.. :
<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Asp.Net Örnekleri, Asp.Net Dersleri, Asp.Net Uygulamları, www.AspNetOrnekleri.com </title> </head> <body> <form id="form1" runat="server"> <asp:Label ID="lblbaslik" runat="server" Font-Size="X-Large" Text="Yeni Üye Kayıt"></asp:Label> <br /> <asp:Panel ID="pnlRegister" runat="server"> <asp:Label ID="lbldurum" runat="server"></asp:Label> <table border="1" cellpadding="2" cellspacing="2" width="449"> <tr> <td width="140"> <asp:Label ID="lblTitleUsername" runat="server" Text="Üye Adı"></asp:Label> </td> <td width="269"> <asp:TextBox ID="txtuyeadi" runat="server" Width="98px"></asp:TextBox> <asp:RequiredFieldValidator ID="Requyeadi" runat="server" ControlToValidate="txtuyeadi" Display="Dynamic" ErrorMessage="*Gerekli"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="lblTitlePassword" runat="server" Text="Şifre:"></asp:Label> </td> <td> <asp:TextBox ID="txtsifre" runat="server" TextMode="Password" Width="112px"></asp:TextBox> <asp:RequiredFieldValidator ID="Reqsifre" runat="server" ControlToValidate="txtsifre" ErrorMessage="* Gerekli"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="lblTitleConPassword" runat="server" Text="Şifre Tekrar:"></asp:Label> </td> <td> <asp:TextBox ID="txtsifretekrar" runat="server" TextMode="Password" Width="112px"></asp:TextBox> <asp:CompareValidator ID="regsifretekrar" runat="server" ControlToCompare="txtsifre" ControlToValidate="txtsifretekrar" ErrorMessage="* Şifreler Uyuşmuyor"></asp:CompareValidator> </td> </tr> <tr> <td> <asp:Label ID="lblTitleName" runat="server" Text="Adınız:"></asp:Label> </td> <td> <asp:TextBox ID="txtad" runat="server" Width="191px"></asp:TextBox> <asp:RequiredFieldValidator ID="Reqad" runat="server" ControlToValidate="txtad" Display="Dynamic" ErrorMessage="* Gerekli"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> <asp:Label ID="lblTitleEmail" runat="server" Text="Email : "></asp:Label> </td> <td> <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="ReqEmail" runat="server" ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="* Gerekli"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegEmail" runat="server" ErrorMessage="* Geçersiz Email" ControlToValidate="txtEmail" Display="Dynamic" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> </td> </tr> <tr> <td> <asp:Label ID="lblCountry" runat="server" Text="Kısa Bilgi"></asp:Label> </td> <td> <asp:TextBox ID="txtbilgi" runat="server" Width="190px" Height="63px" TextMode="MultiLine"></asp:TextBox> <asp:RequiredFieldValidator ID="Reqbilgi" runat="server" ControlToValidate="txtbilgi" ErrorMessage="* Gerekli"></asp:RequiredFieldValidator> </td> </tr> </table> <br /> <asp:Button ID="btnkayit" runat="server" Text="Kayıt Ol" onclick="btnkayit_Click"/> <input ID="btntemizleme" type="reset" value="Temizle" /> </asp:Panel> <asp:Panel ID="pnlFinish" runat="server"> <asp:Label ID="lblFinish" runat="server" Text="Kayıt İşlemi Başarılı"></asp:Label> <br /> <br /> <asp:HyperLink ID="hplLogin" runat="server" NavigateUrl="~/uyegiris.aspx">Üye Girişi</asp:HyperLink> </asp:Panel> </form> </body> </html> <!-- Asp.Net Örnekleri, Asp.Net Dersleri, Asp.Net Uygulamları http://www.AspNetOrnekleri.com -->
protected void Page_Load(object sender, EventArgs e) { this.pnlRegister.Visible = true; this.pnlFinish.Visible = false; } protected void btnkayit_Click(object sender, EventArgs e) { OleDbConnection db_baglanti; OleDbCommand db_komut; db_baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("App_Data/uye.accdb")); db_baglanti.Open(); //*** Üye ismi kontrol ediliyor... ***' string sorgu = "SELECT COUNT(*) FROM bilgiler WHERE uyeadi=@uyeadi"; db_komut = new OleDbCommand(sorgu, db_baglanti); db_komut.Parameters.Add("@uyeadi", OleDbType.VarChar).Value = txtuyeadi.Text; int kayitsayisi = (int)db_komut.ExecuteScalar(); if (kayitsayisi >= 1) { this.lbldurum.ForeColor = System.Drawing.Color.Red; this.lbldurum.Text = "Üye Adı Kayıtlı Başka Bir İsim Bulun..."; return; }//*** http://www.aspnetornekleri.com ***' //*** Mail adresi kontrol ediliyor... ***' sorgu = "SELECT COUNT(*) FROM bilgiler WHERE mail=@mail"; db_komut = new OleDbCommand(sorgu, db_baglanti); db_komut.Parameters.Add("@mail", OleDbType.VarChar).Value = txtEmail.Text; kayitsayisi = (int)db_komut.ExecuteScalar(); if (kayitsayisi >= 1) { this.lbldurum.ForeColor = System.Drawing.Color.Red; this.lbldurum.Text = "Mail adresi kullanılıyor..."; return; } //*** Yeni Üye Kaydetme ***' sorgu = "INSERT INTO bilgiler (uyeadi,sifre,ad,mail,bilgi) VALUES (@uyeadi,@sifre,@ad,@mail,@bilgi)"; db_komut = new OleDbCommand(sorgu, db_baglanti); db_komut.Parameters.Add("@uyeadi", OleDbType.VarChar).Value = txtuyeadi.Text; db_komut.Parameters.Add("@sifre", OleDbType.VarChar).Value = txtsifre.Text; db_komut.Parameters.Add("@ad", OleDbType.VarChar).Value =txtad.Text; db_komut.Parameters.Add("@mail", OleDbType.VarChar).Value = txtEmail.Text; db_komut.Parameters.Add("@bilgi", OleDbType.VarChar).Value = txtbilgi.Text; db_komut.ExecuteNonQuery(); db_baglanti.Close(); db_baglanti=null; this.pnlRegister.Visible = false; this.pnlFinish.Visible = true; //*** http://www.aspnetornekleri.com ***' }
Kaydet butonuna basılınca ilk olarak aynı isimli ve mail adresi olan üye varmı onun kontrolünü yapıyoruz. eğer var ise uyarı veriliyor, yoksa yeni üye bilgileri siteme kaydediliyor..
Şimdilik bu kadar Asp.Net ile Üyelik Sistemi Serimizin ilk bölümü olan Üye Giriş ve Üye Olma sayfalarını bitirmiş oluyoruz diğer yazılarımızda asp.net üyelik sistemi için gerekli olan Unutulan Şifreyi Yenileme (Sıfırlama) ve Üye Sayfası ve Profil Güncelleme sayfaları ile devam edeceğiz…
Asp.Net Üyelik Sistemi Ders 1 – Üye Giriş ve Üye Olma
Asp.Net Üyelik Sistemi Ders 2 – Şifremi Unuttum Sayfası
Asp.Net Üyelik Sistemi Ders 3 – Üye Profil Sayfası ve Profil Güncelleme
Hocam merhabalar, çok teşekkürler emeğinize sağlık.Ben aspx hiç bilmiyordum bi kaç gündür uğraşıyorum veritabanı bağlantısı yapmakla. üyelik sistemi oluştururken RequiredFieldValidator tanımladım. Kontrol yapılınca burada yazdığım mesajın gösterilmesini istiyorum bunu nasıl yaparım?
ErrorMessage bölümünde gösterilecek uyarı mesajını verebilirsiniz
Teşekkür ederim, tekrar tekrar…
int kayitsayisi = (int)(db_komut.ExecuteScalar();
kısmında hata alıyorum neden acaba ?
veri tabanında kayıt var mı acaba yada sonraki dersleri okudunuz mu ? veya http://www.aspnetornekleri.com/wp-content/uploads/uyeliksistemii.zip adresinden projenin çalışan halini indirip test edebilirsiniz…
var tabi
kullanıcı adı ve şifre girmeden direk uye.aspx sayfasına girilebiliyor. Onu nasıl düzeltebiliriz hocam…
uygulamada oturum kontrolü var öyle bir şey olmaması lazım http://www.aspnetornekleri.com/veritabani-ve-ado-net-ornekleri/asp-net-uyelik-sistemi-ders-3-uye-profil-sayfasi-ve-profil-guncelleme.html adresinde konu sonunda uygulamanın indirme linki mevcut indirip deneyebilirsiniz…
bu site bana çok yardımcı oluyor..teşekkürler
rica ederiz iyi çalışmalar..
hocam ben indirdim ama çalıştıramıyorumm
nasıl bir hata veriyor
çalışmuyo hata vermiyo ama çalışmıyoda studioyu açıyorum f5 basıyorum açılmıyo
çalışmıyor dan kastın aşağıdaki bir ekran görüntüsü geliyorsa karşına uye.aspx sayfasına tıklarsan açılır, sitenin Default.aspx sayfası olmadığı için o şekilde açılıyor…
hocam böyle değil winrardan sonra hangisine tıklarsam tıklayayım açılmıyo
Winrardan klasör haline çıkarıp daha sonra uyeliksistemi.sln dosyasını açarsanız proje çalışır şuanda denedim herhangi bir sorun yok…
hocam yardımlarınızdan dolayı çok teşekkür ediyorum son bişey daha sırucam yaptığınız bu çalışmayı web siteme nasıl aktarıcam
pnlregister demişsiniz ya orada hata veriyor https hatası acil söylermisiniz yarına ödevim varda
hata kodunu veya ekran görüntüsünü paylaşırmısın
Hiç test ettiniz mi bilmiyorum ama üye kayıtta şifreleri farklı girseniz bile kaydediyor, databasede boş kayıt yok iken kaydol butonuna tıklayınca boş bir kayıt ekliyor.
ben projeyı nerden ındıreceğimizi bulamadım acaba ayrıdmcı olur musunu?üye olmadıgım ıcın mı gormeıyorum yoksa
http://www.aspnetornekleri.com/veritabani-ve-ado-net-ornekleri/asp-net-uyelik-sistemi-ders-3-uye-profil-sayfasi-ve-profil-guncelleme.html adresinde konu sonunda indirebilirsiniz
Hocam merhabalar.
Benim başka bir sorum olucak…
Biz bir panel tasarladık fakat bir işlemde zorluk çekiyoruz;
İşlem şu:
Bir kişi kullanıcı paneline giriş yaptıgı an o giriş yaptıgı panele aynı kullanıcı adıyla baska biyerden girmesini nasıl engelleyebilir . _?
Hocam bunu aynısını yine asp.net ile mysql kullanarak nasıl yaparım lütfen yardım .
int kayitsayisi = (int)db_komut.ExecuteScalar(); kısmında hata alıyorum özellikle