PDA

View Full Version : سوال: چک کردن صفحه ورود



jaykob
پنج شنبه 09 دی 1389, 22:18 عصر
سلام دوستان

من table رو برای مدیر وب سایت در نظر گرفتم که با LINQ TO SQL قابلیت ساخت یوزر و ویرایش و حذف اطلاعات را دارد برای صفحه Login اگر بخوام چک کنم که txtUser من برابر با کالوم admin_user و txtpass برابر با کالوم admin_pass باشه به چه شکل می تونم این کار رو انجام بدم در ضمن session هم قرار دادم .

با تشکر

Kia_MLS
جمعه 10 دی 1389, 12:15 عصر
سلام دوستان

من table رو برای مدیر وب سایت در نظر گرفتم که با LINQ TO SQL قابلیت ساخت یوزر و ویرایش و حذف اطلاعات را دارد برای صفحه Login اگر بخوام چک کنم که txtUser من برابر با کالوم admin_user و txtpass برابر با کالوم admin_pass باشه به چه شکل می تونم این کار رو انجام بدم در ضمن session هم قرار دادم .

با تشکر

سلام دوست من
اگه منظورت نحوه نوشتم LinQ Query هست چیزی شبیه به این بنویس:


var ctx = new YourDatabaseContext("ConnectionString");
var q = (from a in ctx.Karbars
where a.KodKarbar == txtUsername.Text && a.Password == txtPassword.Text
select a).SingleOrDefault();
if (q != null)
{
//wellcome
}
else
{
//invalid username or password
}


موفق باشی

jaykob
جمعه 10 دی 1389, 13:20 عصر
سلام دوست من
اگه منظورت نحوه نوشتم LinQ Query هست چیزی شبیه به این بنویس:


var ctx = new YourDatabaseContext("ConnectionString");
var q = (from a in ctx.Karbars
where a.KodKarbar == txtUsername.Text && a.Password == txtPassword.Text
select a).SingleOrDefault();
if (q != null)
{
//wellcome
}
else
{
//invalid username or password
}
موفق باشی

خیلی ممنون که با حوصله به سوال ها پاسخ می دید اما من کمی سر در گم شدم چون تازه است که با LINQ آشنا شدم من پروژم رو تیکه تیکه می کنم که شما کمی بهتر به من کمک کنید . در مثالی که شما فرمودید مفهوم ConnectionString داخل LINQ رو نمی دونم چون تا حالا باهاش برخورد کردم .

من یک تیبل دارم به نام tbl_user با سه فیلد user_id , user_name , user_pass و این تیبل رو به dataclasses از نوع LINQ TO SQL اضافه کردم و حالا در صفحه ورود 2 Text Box دارم به نام های txtLoginUser , txtLoginPass و یک دکمه ورود در مثالی که گفتید اگر لطف کنید و بر حسب موراد گفته شد کد رو تغییر بدید که بتونم کامل این مبحث رو متوجه بشم .

سپاس فراوان

Kia_MLS
جمعه 10 دی 1389, 13:53 عصر
خیلی ممنون که با حوصله به سوال ها پاسخ می دید اما من کمی سر در گم شدم چون تازه است که با LINQ آشنا شدم من پروژم رو تیکه تیکه می کنم که شما کمی بهتر به من کمک کنید . در مثالی که شما فرمودید مفهوم ConnectionString داخل LINQ رو نمی دونم چون تا حالا باهاش برخورد کردم .

من یک تیبل دارم به نام tbl_user با سه فیلد user_id , user_name , user_pass و این تیبل رو به dataclasses از نوع LINQ TO SQL اضافه کردم و حالا در صفحه ورود 2 Text Box دارم به نام های txtLoginUser , txtLoginPass و یک دکمه ورود در مثالی که گفتید اگر لطف کنید و بر حسب موراد گفته شد کد رو تغییر بدید که بتونم کامل این مبحث رو متوجه بشم .

سپاس فراوان

دوست عزیز، منظور از ConnectionString همون ConnectionString هست که توی Ado.Net استفاده میشد، همونو اینجا کپی کن
شما توی پروژت 1 فایل با پسوند dbml دارید. به عنوان مثال MyDatabase.dbml
برای کار با LinQ to SQL Query به یک Context از نوع دیتابیست نیاز داری، این Context رو به صورت زیر ایجاد کن:



var ctx = new MyDatabaseDataContext("Your database connection string");


همونطور که در بالا توضیح دادم و در اینجا هم میبینی، هنگام ساخت Context یک رشته با عنوان ConnectionString میبینی، این همون ConnectionString که قبلا در Ado استفاده میکردی.

حالا LinQ to Sql Query:


var q = (from a in ctx.tbl_users
where
a.user_pass == txtLoginPass.Text
&&
a.user_name == txtLoginUser.Text
select a).SingleOrDefault();


در کد بالا اگه Username یا Password به صورت غلط وارد شده بود مقدار q برابر Null خواهد بود در غیر این صورت q مقداری برابر یک رکورد از جدول tbl_user را خواهد داشت.

مثال:


if (q == null)
{
//invalid username or password
}
else
{
Session.Add("UserId", q.user_id.ToString());
//wellcome
}


اگه Username,Password صحیح بود آی دی کاربر رو درون Session ذخیره میکنه