Siteye Kullanıcı Kaydı ve Giriş Kodları
Merhaba, bugün sisteme kullanıcı kaydı ve giriş yapma kodlarını paylaşacağım. İlk olarak sisteme kayıt olmayla başlayalım.
Öncelikle kayıt olma sayfasını oluşturalım
<div class="register-container"> <h2>Kayıt Ol</h2> <form method="post" action="/DestekHome/Register"> @Html.AntiForgeryToken() <div class="form-group"> <input type="text" name="KullaniciAdi" placeholder=" Kullanıcı Adı" maxlength="50" required> </div> <div class="form-group"> <input type="password" name="Sifre" placeholder=" Şifre" maxlength="50" required> </div> <div class="form-group"> <input type="email" name="Mail" placeholder="E-posta" maxlength="200" required> </div> <div class="form-group"> <input type="number" name="Telefon" placeholder="Telefon" required> </div> <div class="form-group"> <input type="submit" value="Kayıt Ol"> </div> </form> <div class="col-12"> @if (!string.IsNullOrEmpty(ViewBag.Uyari)) { <div class="alert alert-danger text-center">@ViewBag.Uyari</div> } @if (!string.IsNullOrEmpty(ViewBag.ErrorMessage)) { <div class="alert alert-danger text-center">@ViewBag.ErrorMessage</div> }
</div> <p class="login-link">Zaten hesabınız var mı? <a href="/DestekHome/Login">Giriş Yapın</a></p> </div> |
Daha Sonra Controller'a kayıt olma kodlarını yazalım.
public ActionResult Register() { ViewBag.ErrorMessage = TempData["ErrorMessage"] as string; return View(); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult Register(Kullanicilar kullanicilar, string KullaniciAdi, string Sifre) { try { if (ModelState.IsValid) { // Veritabanında aynı kullanıcı adını içeren bir kayıt var mı kontrol et var existingUser = db.Kullanicilars.FirstOrDefault(a => a.KullaniciAdi == kullanicilar.KullaniciAdi);
if (existingUser == null) { kullanicilar.Sifre = Crypto.Hash(Sifre, "MD5"); // Aynı kullanıcı adı veritabanında yoksa yeni kaydı ekleyin db.Kullanicilars.Add(kullanicilar); db.SaveChanges(); var l = db.Kullanicilars.Where(x => x.KullaniciAdi == kullanicilar.KullaniciAdi ).SingleOrDefault(); Session["KullaniciId"] = l.KullaniciId; Session["KullaniciAdi"] = l.KullaniciAdi; Session["Sifre"] = l.Sifre; Session["Mail"] = l.Mail; Session["Telefon"] = l.Telefon; return RedirectToAction("Index"); } else { ViewBag.Uyari = "Bu Kullanıcı adı zaten kullanılıyor"; return View(); } }
return View(kullanicilar); } catch (Exception ex) {
TempData["ErrorMessage"] = "Bir hata oluştu. Lütfen daha sonra tekrar deneyin."; return RedirectToAction("Register"); } } |
Kayıt olma işleminden sonra zaten otomatik giriş yapacaktır. Şimdi ise giriş yapma işlemini yapalım öncelikle giriş sayfasını oluşturalım.
<div class="login-container"> <h2>Giriş Yap</h2> <form method="post" action="/DestekHome/Login">
<div class="form-group"> <input type="text" placeholder="Kullanıcı Adı" name="KullaniciAdi" required> </div> <div class="form-group"> <input type="password" name="Sifre" placeholder="Şifre" required> </div> <div class="form-group"> <input type="submit" value="Giriş Yap"> </div> </form> <div class="col-12"> @if (!string.IsNullOrEmpty(ViewBag.Uyari)) { <div class="alert alert-danger text-center">@ViewBag.Uyari</div> }
</div> <p class="register-link">Hesabınız yok mu? <a href="/DestekHome/Register">Kayıt Olun</a></p> </div> |
Şimdi ise Controller'a gidip giriş yapma kodlarını yazalım.
[HttpPost] public ActionResult Login(Kullanicilar kullanicilar , String Sifre) {
var s = Crypto.Hash(Sifre, "MD5"); var l = db.Kullanicilars.FirstOrDefault(x => x.KullaniciAdi == kullanicilar.KullaniciAdi );
if (l != null && l.Sifre == s) { // Kullanıcı doğrulandı, oturumu başlat Session["KullaniciId"] = l.KullaniciId; Session["KullaniciAdi"] = l.KullaniciAdi; return RedirectToAction("Index", "DestekHome"); }
// Kullanıcı adı veya parola yanlış ise uyarı mesajı görüntüle ViewBag.Uyari = "Kullanıcı adı veya şifre yanlış"; return View();
} |
Giriş işlemleri de bu kadardı şimdi ise çıkış yapma kodunu yazalım
public ActionResult Logout() { Session["KullaniciId"] = null; Session["KullaniciAdi"] = null; Session["Tesis"] = null; Session["Sifre"] = null; Session["Mail"] = null; Session["Telefon"] = null; Session.Abandon();
return RedirectToAction("Login", "DestekHome");
} |
Yorumlar
Ömer Selçuk Göksu
Ellerine sağlık.
BugraSoft
Teşekkürler
Yorum Yap