View Full Version : بعد از ثبت نام یوزر به کدوم صفحه بریم؟
RIG000
چهارشنبه 01 آبان 1392, 16:42 عصر
این کد ثبت یوزر من
public static void UserInsert(Models.tblUser entity)
{
Models.ToranjEntities1 db = new Models.ToranjEntities1 ();
var findEmail = (from f in db.tblUsers
where f.Email == entity.Email
select f.Email).SingleOrDefault();
if (findEmail == null)
{
db.tblUsers.Add(entity);
db.SaveChanges();
}
}
اینجا از متد بالا استفاده میشه ....
public ActionResult UserPage(Models.tblUser entity)
{
entity.InsertDate = DateTime.Now;
ToranjNameSpace.UserInsert(entity);
return RedirectToAction("LoginPage");
}
اما در کد بالا همه چی درست باشه به صفحه لاگین میره و همه چی غلط باشه باز به صفحه لاگین میره ...
در کل کد های مربوط به دیتایبیسم درست کار میکنه ...
اما مشکل اینه که تو اکشن userpage من فقط یه ری دایرکت میتونیم داشته باشیم!!!
چیکار کنم؟ یا چیکار کنم بتونم اگه اطلاعاتم درست نبود به یه صفحه دیگه بره؟
star_rh
چهارشنبه 01 آبان 1392, 17:05 عصر
public static bool UserInsert(Models.tblUser entity)
{
Models.ToranjEntities1 db = new Models.ToranjEntities1 ();
var findEmail = (from f in db.tblUsers
where f.Email == entity.Email
select f.Email).SingleOrDefault();
if (findEmail == null)
{
db.tblUsers.Add(entity);
db.SaveChanges();
return true;
}
return false;
}
public ActionResult UserPage(Models.tblUser entity)
{
entity.InsertDate = DateTime.Now;
if(ToranjNameSpace.UserInsert(entity))
{
return RedirectToAction("LoginPage");
}else
{
return RedirectToAction("OtherPage");
}
}
CannibalCorpse
چهارشنبه 01 آبان 1392, 17:13 عصر
یه سری سوئیچ کیس می زارید نسبت به Respons هایی که بانک تون در هنگام لاگین یوز می ده. با توجه به این Respons ها، یوز رو ریدایرکت می کنید.
معمولا شما پس از ثبت نام یوزر و رو به صفحه لاگین پاس نباید کرد. صفحه ی خوش آمد گویی و اینکه به یوز میگید که پسورد رو براش ایمیل کردین.
RIG000
چهارشنبه 01 آبان 1392, 17:16 عصر
ممنونم از اینکه پاسخ میدید...
الان من چه روالی رو در پیش بگیرم؟
این کاری که من میکنم درسته؟
RIG000
چهارشنبه 01 آبان 1392, 17:21 عصر
چطوری من بعد از ثبت یوزر اون رو به طور خودکار لاگین کنم؟
//return RedirectToAction("LoginPage", new Models.SetLogin {Email=entity.Email,Password=entity.Password});
CannibalCorpse
چهارشنبه 01 آبان 1392, 17:27 عصر
ببینید روال کلی باید به این شکل باشه :
یوزر میاد لاگین میکنه. شما در ادامه کار نیاز داری که با حرکت توی صفحات مختلف اطلاعاتش رو از دست ندی. برای همین برای آیدی اون کاربر که توی بانک هست رو به صورت انکریپت شده یه جا نگه داری که معمولا توی آدرس بار و به صورت رمز شدس... این ادامه ی روالیه که شما در پیش گرفتی
اما روال درست و دقیق این هست که شما از session استفاده کنید. اونوقت با یک دستور می تونید کاربر رو لاگین، لاگوت و ... کنید. مثلا
session.timeout
session .abandon
RIG000
چهارشنبه 01 آبان 1392, 17:41 عصر
متاسفانه من اصلا asp.net webfrom کار نکردم ...
و کلا ویندوزی کار بودم ...
کمی با روال لاگین و ... تو وب کمی مشکل دارم ..
اما فکرکنم seesion واسه ارسال مقادیر باشه .. از گفته هاتون اینجوری متوجه شدم ...
اما فکر نکنم الان درست باشه بخام روال رو تغییر بدم .... به نوعی که من دارم پیش میرم میشه راهنماییم کنید که چطوری اینکار رو کنم؟...
میخام از formmetod.post تو کد زیر استفاده کنم که دیگه صفحه واسم نیاره و مقدارمو پست کنه واسه اکشن loginpage من ...
return RedirectToAction("LoginPage", new Models.SetLogin {Email=entity.Email,Password=entity.Password});
Amir Oveisi
چهارشنبه 01 آبان 1392, 18:50 عصر
توصیه میکنم از سیستم Membership خود ASP.NET استفاده کنید
alireza_s_84
جمعه 03 آبان 1392, 17:47 عصر
این کد ثبت یوزر من
public static void UserInsert(Models.tblUser entity)
{
Models.ToranjEntities1 db = new Models.ToranjEntities1 ();
var findEmail = (from f in db.tblUsers
where f.Email == entity.Email
select f.Email).SingleOrDefault();
if (findEmail == null)
{
db.tblUsers.Add(entity);
db.SaveChanges();
}
}
اینجا از متد بالا استفاده میشه ....
public ActionResult UserPage(Models.tblUser entity)
{
entity.InsertDate = DateTime.Now;
ToranjNameSpace.UserInsert(entity);
return RedirectToAction("LoginPage");
}
اما در کد بالا همه چی درست باشه به صفحه لاگین میره و همه چی غلط باشه باز به صفحه لاگین میره ...
در کل کد های مربوط به دیتایبیسم درست کار میکنه ...
اما مشکل اینه که تو اکشن userpage من فقط یه ری دایرکت میتونیم داشته باشیم!!!
چیکار کنم؟ یا چیکار کنم بتونم اگه اطلاعاتم درست نبود به یه صفحه دیگه بره؟
اولا شما باید به نحوی تعیین کنید که عملیات ثبت نام کاربر با موفقیت انجام شده یا خیر. در روال UserInsert من هیچ راهی برای تعیین اینکه عملیات موفق بوده یا نه نمیبینم . این روال یا باید مقدار true/false برگردونه یا یک آرگومان اضافی بگیره و به صورت out مقدار دهی کنه تا بشه موفقیت عملیات رو تعیین کرد.
در مرحله بعد باید با قرار دادن یک شرط ساده چک کنید نتیجه ی عملیات چی بوده و اگر عملیات صحیح بوده با کد زیر شخص رو لاگین کنید:
FormsAuthentication.SetAuthCookie(entity.Username, model.RememberMe);
خط بالا کاربر رو در سایت لاگین میکنه و تنها لازمه بعد از اون کاربر رو به صفحه ی دلخواه (ایندکس/خوشامدگویی/اطلاع رسانی و ...) انتقال بدی
RIG000
شنبه 04 آبان 1392, 10:18 صبح
تا اینجا رو اینجوری نوشتم ...
درسته ؟
[HttpPost]
public ActionResult UserPage(Models.tblUser entity)
{
entity.InsertDate = DateTime.Now;
if (ToranjNameSpace.UserInsert(entity))
{
if (ModelState.IsValid)
{
Models.ToranjEntities1 db = new Models.ToranjEntities1();
var query = (from f in db.tblUsers
where f.Email == entity.Email && f.Password == entity.Password
select f.Email).SingleOrDefault();
FormsAuthentication.SetAuthCookie(entity.Email,tru e);
//return RedirectToAction("LoginPage", new Models.SetLogin {Email=entity.Email,Password=entity.Password});
//return RedirectToAction("LoginPage");
}
}
return RedirectToAction("StartPage");
}
بقیش رو حالا باید چیز دیگه ای بنویسم؟ ... فک کنم اینقدر دیگه کافی باشه...؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.