سلام ترخدا برای پروژه کارورزی موندم نحوه ی login ساختن همراه با ارتباط با sql server چی جوریه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :11:
Printable View
سلام ترخدا برای پروژه کارورزی موندم نحوه ی login ساختن همراه با ارتباط با sql server چی جوریه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :11:
چرا هیچ کس به سوال من جواب نمیده؟؟؟؟؟؟؟؟؟؟؟؟؟
سلام
چون سوالتان زیادی کلی است و شرح زیادی دارد!
نگاهی به این نمونه کد و سمپل خیلی ساده بیاندازید:
support.h02.ir/fwlink/?LinkId=1002214567
اگر روی همین نمونه جایی را متوجه نشدید، خط کد مربوطه درج کنید و بپرسید.
موفق باشید.
ببخشید من اصلا متوجه نشدم ببینید من توی asp.netدو تا textboxگذاشتم و یک دکمه و توی sql serverهم یه جدول که شامل username,passworde بعد ارتباط دادم حالا نمیتونم چی کدی بنویسم که اطلاعات ورودی درtextbox هارو با پایگاه داده مقایسه کنه اگر درست بود وارد یه صفحه ی جدا بشه و برای هر کاربر صفحه ی مجزایی داشته باشه ترخدا زود جواب بدین کارم گیره
خواهش میکنم کمکم کنید من باید پروژمو فردا تحویل بدم
سلام
خوب من برایتان سورس کد گذاشتم !
دیگه چی بیشتر از سورس کد میخواهید.
تا جایی که من میدانم، معمولاً گذاشتن نمونه کد اخرین راه کار و آخرین مرحله راهنمایی است.
یعنی شما خودتان برای خودتان نمیخواهید این بسته را unzip کنید و کدهایش را بخوانید و استفاده کنید! :31:
=====
این ساده ترین و ابتدایی ترین دستور Login ای است که میتوانم بنویسم.
این تابع را در رویداد کلیک دکمه Login شدن اجرا کنید:
1)کد:'VB.Net
Public Shared Function Login(ByVal username As String, ByVal Password As String) As Boolean
If String.IsNullOrEmpty(username) OrElse String.IsNullOrEmpty(Password) Then Return False
Using _
dbCon As New System.Data.SqlClient.SqlConnection("---CONNECTIONSTRINGS---"), _
dbCom As New System.Data.SqlClient.SqlCommand("SELECT [UserName] FROM [Users] WHERE ([Username]=@username AND [Password]=@password);", dbCon)
With dbCom.Parameters
.Add("@username", System.Data.SqlDbType.NVarChar).Value = username
.Add("@password", System.Data.SqlDbType.VarChar).Value = Password
End With
Try
dbCon.Open()
username = TryCast(dbCom.ExecuteScalar(), String)
Catch
Return False
End Try
End Using
If String.IsNullOrEmpty(username) Then Return False
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username, True)
Return True
End Function
//C#.Net
public static bool Login(string username, string Password)
{
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(Password)) return false;
using (System.Data.SqlClient.SqlConnection dbCon = new System.Data.SqlClient.SqlConnection("---CONNECTIONSTRINGS---")) {
using (System.Data.SqlClient.SqlCommand dbCom = new System.Data.SqlClient.SqlCommand("SELECT [UserName] FROM [Users] WHERE ([Username]=@username AND [Password]=@password);", dbCon)) {
dbCom.Parameters.Add("@username", System.Data.SqlDbType.NVarChar).Value = username;
dbCom.Parameters.Add("@password", System.Data.SqlDbType.VarChar).Value = Password;
try {
dbCon.Open();
username = dbCom.ExecuteScalar() as string;
}
catch {
return false;
}
}
}
if (string.IsNullOrEmpty(username)) return false;
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username, true);
return true;
}
در کد فوق فرض شده همچین جدول ساده ای دارید که رمزنگاری و... هم ندارد.
2)کد:Users
=====
ID_User int PK-Autonumber
Username nvarchar
Password nvarchar
RegisterDate smalldatetime
تابع فوق الذکر اگر Flase برگرداند، یعنی username و password اشتباه بوده و شما باید پیغام مناسب را نمایش دهید.
3)
امیدوارم متوجه شده باشید که باید به جای ---CONNECTIONSTRINGS--- رشته اتصال صحیح خودتان را جایگزین کنید.
موفق باشید.
خیلی ممنون از راهنماییتون حالا اگه میشه بگید توی پایگاه دادم چیکار کنم ببخشید ها خیلی سوال میکنم آخه باید پروژمو تحویل بدم مرسی
ببخشید میشه تک تک کدارو برام توضیح بدین کسی نیست کمکم کنه دیگه از شرم راحت میشین خواهش میکنم
سلام
جدول مندرج در بند (1) پست قبلیم را در دیتابیس بسازید.نقل قول:
اگه میشه بگید توی پایگاه دادم چیکار کنم
کد:Users
=====
ID_User int PK-Autonumber
Username nvarchar
Password nvarchar
RegisterDate smalldatetime
گمانم کدی از این ساده تر کسی در تاریخ بشتریت دات نت و دیتابیس ننوشته باشد ! :31:نقل قول:
تک تک کدارو برام توضیح بدین
- یک تابع برای لوگین تعریف کردیم و نام و رمز را میگیرد و اگر صحیح باشد لوگین کرده و True پس میدهد.
- در خط اول چک کردیم که اگر نام و رمز خالی بودند کار را ادامه ندهد و ورودی را اشتباه فرض کند.
- در خطوط بعد CONNECTIONSTRING صحیح را برای یافتن و برقراری ارتباط با SQLServer داده ایم و Connection جهت ارتباط به دیتابیس تعریف کردیم.
- دستور SQL مناسب و دلخواهمان را برای اجرا در هسته بانک داده ایم و یک Command برای اجرای دستورات در هسته بانک تعریف کردیم.
- پارامترهای نام کاربری و رمز عبور را به شی Command که میخواهد دستور را اجرا کند، تحویل داده ایم.
- ارتباط با دیتابیس را با متد Open برقرار و وصل کرده ایم.
- با متد ExecuteScalar دستور SQL اولیه را اجرا و نام کاربری احتمالی (اگر پیدا شود) را در username ریخته ایم.
(با این کار هم چک کردیم نام و رمز صحیح باشد و هم Username صحیح دیداری را از نظر بزرگی و کوچکی حروف استخراج کرده ایم.)
- با End Using شی Command و Connection را نابود کرده و ارتباط با دیتابیس را قطع کردیم.
- در خط بعد اگر username خالی بوده و چیزی پیدا نشده، آن را دلیل عدم صحت جفت نام و رمز دانسته ایم و با برگرداندن Flase از ادامه کار ممانعت کرده ایم.
- در دستور آخر هم که دیگر مطمئن شدیم همه چیز درست است username را برای لوگین نهایی و شناسایی در سیستم ASP.Net به ان اعلام کرده ایم تا ضمن لوگین، کاربر به صفحه مناسب منتقل شود.
موفق باشید.
ببخشید میدونم ایندفعه دیگه واقعا عصبانی میشین dbcom,dbcon چیجوری درست شده و این تابعو توی رویداد click دکمه گذاشتم ولی خطا داد چیکار کنم
سلام
خوبه در امضا ام نوشته ام!!! :31:نقل قول:
ایندفعه دیگه واقعا عصبانی میشین
من معمولاً از آن دسته افرادی هستم که به این راحتی ها عصبانی نمیشوند، یعنی کسی نمیتواند عصبانی ام کند، خیالتان راحت.
(البته پیش خودمان باشد(!!!)، ولی اگر عصبانی هم شوم دیگر چندان عادی نخواهم بود !:31:)
باور کنید واقعاً درک نمیکنم!نقل قول:
dbcom,dbcon چیجوری درست شده
شما اول سوال من را جواب دهید، (یک چیزی از برنامه نویسی که انشا ا... بلد هستید)، به نظر شما در کد زیر "i چجوری درست شده" ؟؟؟:31:
کد:'VB.Net
Dim i As Integer
C#.Net
int i;
شما باید شرایط کارکرد صحیح را ایجاد کنید.نقل قول:
این تابعو توی رویداد click دکمه گذاشتم ولی خطا داد چیکار کنم
باید دیتابیسی با جدول منایب و نام فیلد مناسب ایجاد کنید و connectionstring صحیحی برای اتصال به آن تعریف کنید و در کد قرار دهید.
شما باید نام کاربری و رمز را به تابع پاس دهید.
سمپل و نمونه کد هم که گذاشتم.
=====
حالتی که شما اشتباهاً از گفتار من به عصبانیت برداشت کرده اید بیشتر حالت گیچی و ابهام است.
من واقعاً نمیدانم چطور کمک شما کنم، واقعاً نمیدانم!
برایتان اینجا کد میگذارم، خوب خودتان باید دیتابیس و... را آماده کنید و پارامترها را تنطیم کنید ...
برایتان سورس کد آماده هم گذاشتم که اگر VS و SQLServer-Express را نصب کرده باشید با یک F5 اجرا میشود و آماده است و هیچ کاری و تغییری نمیخواهد، باز ...
مشکل گیج شدن من است نه عصبانیت.
(
میبخشید، قصد توهین یا جسارت و... ندارم ولی ...
چیزی که مشخص است آن است که شما اطلاعات و تجربه کافی برنامه نویسی ندارید.
مثل این میماند من الآن از یک پزشک و غیر حضوری بخواهم به من (که هیچ چیز پزشکی نمیدانم) کمک کند تا یک جراحی را انجام دهم!!!
مشکل آنجا است که حداقل اطلاعات چند کتاب و چند ماه تجربه برنامه نویسی را نمیتوان در یک پست و تاپیک منتقل کرد.
شما باید خودتان یک پیشضمینه ای داشته باشید و بخواهد و سعی کنید و روی بحث وقت بگذارید و کتاب خریداری کنید و مطالعه کنید و آزمایش و تست و کار و ممارست کنید ...
)
(باز تاکید میکنم خیالتان راحت، به این راحتی ها ناراحت یا عصبانی نمیشوم.)
موفق باشید.
سلام خیلی ممنون از لطفتون ما اون سورسو اجرا کردیم ولی اگر بخواهیم چند کاربر تعریف کنیم که هر کاربر صفحه ی مجزایی داشته باشد باید چکار کنیم
سلام
منظورتان چیزی شبیه وبلاگ است یا چیزی بشیه پیام های خصوصی همین سایت؟؟؟نقل قول:
... چند کاربر تعریف کنیم که هر کاربر صفحه ی مجزایی داشته باشد ...
بحرحال فرقی ندارد.
شما کاربران ا در جداول دیتابیس نگه داری میکنید و پس از لوگین شدن تشخیص میدهید که چه کاربری لوگین شده و بسته به شرایط و تنظیمات اطلاعاتی همان یک کاربر، صفحه ای که باید ببیند را تولید میکند.
=====
(
من یک مثال دیگری برای دوست دیگری در سایت دیگری حاضر کرده بودم که همان سایت هم آپلود کرده بودم.
الآن این یکی مثال را هم به همان پک support.h02.ir/fwlink/?LinkId=1002214567 اضافه کردم.
و اگر مجدد دانلود کنید دو سمپل خواهید دید.
)
در سمپل دوم دو کاربر وجود دارد که برای هر کدام استایل رنگی جداگانه ای در سایت در دیتابیس و سطر مربوطشان تعریف شده ...
بعد از لوگین (وارد کردن user و pass و ok) تنظیمات استایلی او از دیتابیس خوانده میشود و نصبت به اعمالش ترتیب اثر داده خواهد شد.
این فقط یک مثال ساده است، بجای تنظیمات رنگ و استایل میتواند هر موردی باشد ...
مهم تشخیص فردی است که درخواست داده و صفحه را مشاهده میکند، بعد از تشخیص او دیگر باید اطلاعات لازم را از دیتابیس خواند و به نیاز و صلیقه و ... صفحات را کدنویسی کرد تا از این دیتاها متاثر شوند.
خیلی ممنون همون چیزی که ما میخواستیمه ولی هنوز امتحان نکردیم امیدوارم که جواب بگیریم واقعا نمیدونم به چه زبونی ازتون تشکر کنم:20::11:
سلام چرا سمپل 2 به زبان c# ما اصلا c#بلد نیستیم ما منظورمون مثلا یه سایت دانشگاه رو در نظر بگیرید که هر دانشجویی با وارد کردن یوزر و پسوورد وارد صفحه ی خود میشود حالا ما چه طوری یوزرارو تعریف کنیم تو جدول یا از طریق کد خواهش میکنم واضح بگید و چه طوری adminبه همه ی یوزرا دسترسی داشته باشه
سلام
از سایتهای زیر جهت تبدیل کد این زبانها استفاده کنید:نقل قول:
چرا سمپل 2 به زبان c# ما اصلا c#بلد نیستیم
کد:http://www.developerfusion.com/tools/convert/csharp-to-vb/
http://www.carlosag.net/Tools/CodeTranslator/
کاربران شما درون جداول دیتابیس و از طریق کد نویسی اضافه و INSERT خواهند شد.نقل قول:
حالا ما چه طوری یوزرارو تعریف کنیم تو جدول یا از طریق کد خواهش میکنم
کافی است جداول را در دیتابیس تعریف کنید و از دستور SQL-INSERT برای درج استفاده کنید.
معمولاً برنامه ها صفحات و بخشهای ویژه ای دارند که فقط مخصوص مدیر سیستم است و سایر افراد نمیتوانند وارد آنها شوند.نقل قول:
چه طوری adminبه همه ی یوزرا دسترسی داشته باشه
شما هم میتوانید صفحات خاصی به این منظور ایجاد کنید و در این بخش ها مدیر بتواند لیست دانشجویان را ببینید و انها را کم و زیاد کند و...
=====
دوست عزیز فراموش نفرمائید که تاپیک های تالار هیچگاه جای آموزش را نمیگیرد و شما خودتان باید با مطالعه کتاب و کار عملی سطح اطلاعاتتان را افزایش دهید و مشکلات و سوالات را در سطح انجمن مطرح کنید.
(چون در هر صورت کسی نمیتواند با یک پست و دو پست و یک تاپیک و دو تاپیک کار انتقال اطلاعات یک کتاب 500 یا 1500 صفحه ای را انجام دهد.)
موفق باشید.
ببخشید منم این وسط پارازیت میندازم
پرا تابعو static تعریف کردین؟ کلا کی باید تابعو public وprivate و static تعریف کرد
البته تعریف زیاد خوندم ولی اگر ممکنه با مثال توضیح بدین
سلام
کلمه VB-Shared و C#-static یک مورد ثابت و همیشگی و مشترک ایجاد میکنند که در هر زمان موجود و قابل ارجاع هستند.
یعنی سایر موارد بدون static داخل یک کلاس تا کلاس new نشود قابل فراخوانی نیستند و در عوض به متغیرهای کلاس هم دسترسی دارند.
ولی اجزای static مثل یک متد static همیشه و برای همه نمونه ها و ریسمان ها به صورت مشترک دردسترس است و در عوض به اجرای غیر static دسترسی ندارد.
کلمات کلیدی private و protected و internal و public هم کلمات حوزه دید و دسترسی هستند.
به ترتیب:
- کوچکترین محدوده است و آیتم تعریف شده فقط در همان کلاس یا ساختار قابل دید و ارجاع و دسترسی است.
- در خود کلاس و تمام وراثت های آن کلاس قابل دید و دسترسی است.
- در اسمبلی جاری (داخل همان dll یا exe) قابل دسترس است.
- در همه جا قابل دید و ارجاع است.
(البته دو کلمه وسط قابلت تلفیق هم دارند.)
(
معادل VB.Net به ترتیبب:
Private و Protected و Friend و Public
)