ايران ويج

نسخه‌ی کامل: سيستم مديريت محتواي وب - قسمت اول
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلامBiggrin
تو اين مجموعه آموزشي ميخوام اموزش ساخت يك سي ام اس خيلي ساده رو براتون بگم
فكر نميكنم تو اينترنت مقالات زيادي درباره اين باشه من كه هيچي پيدا نكردم .
لازمه كه بگم ما از وي بي برا كد نويسي استفاده ميكنيم و سي شارپ كارها خيلي راحت ميتونن به سي شارپ تبديل كنن بهر حال اگه كسي خواست با سي شارپ هم ميگم طبيعي است كه لازمه درك اين مقاله آگاهي هرچند جزئي از وي بي و اچ تي ام ال و اي اس پي دات نت هست
خوب CMS ما خيلي ساده خواهد بود و همينطور از اكسس استفاده خواهيم كرد كه خودتون هم ميتونيد خيلي ساده با كمي تغييرات برا SQLDB هم بنويسيد .
خوب اول ديتابيسمون رو ميسازيم پس اكسس رو باز كنيم و يه ديتابيس با اسم db بسازيد حالا يك جدول با اسم tblUser بسازيد
و توش سه تا فيلد با اسم هاي id , U_Name , U_Password بسازيد خاصيت ايدي رو هم اتو نامبر بزاريد.
خوب اين از فايل ديتابيسمون حالا ميرسيم به تنظيمات وب كانفيگ پس باز كنيد و خط زير رو بهش اضافه كنيد
کد:
<appSettings>

<add key="dbpath" value="Provider = Microsoft.Jet.OLEDB.4.0;Data Source=E:\Inetpub\wwwroot\mycms\db.mdb;User ID=Admin;Password=;" />
</appSettings>
فقط دقت كنيد كه اين كد رو بين <configuration> و <system.web> بايد قرار بديد .يعني زير كانفيگوريشن و سيستم. وب .
اين كار كارمارو خيلي راحت ميكنه و دفعات بعد هروقت كه نياز به استفاده از ديتابيس داشتيم كافيه اونو صدا بزنيم كه با اسم dbpath مشخص كرديم .
حالا ميرسيم به ساخت صفحه لاگين :
دوباره به ديتابيسمون برميگرديم تا يك كوئري در اون بنويسيم اين كوئري وظيفه چك كردن يوزر نيم و پسورد رو در ديتابيس بر عهده داره . خوب به قسمت كوئري بريد و Create Query in design view رو اجرا كنيد براتون يه پنجره باز ميشه كه جدول مورد نظر رو انتخاب كنيد نيازي نيست كلوز رو بزنيد چون بعدا خودمون تعيين ميكنيم سپس در قسمتي كه خالي هست راست كليك كرده و SQLView رو انتخاب كنيد و اين كد هارو داخلش قرار بديد :
کد:
SELECT COUNT(*) AS Num_of_User
FROM tblUser
WHERE (((tblUser.U_Name)=[@UserName]) AND ((tblUser.U_Password)=[@Password]));
خوب حالا با اسم login_validator ذخيره كنيد و خارج بشيد كارمون با ديتابيس تا اينجا تموم شد .
حالا ويژوال استوديو رو باز كنيد و يه پروژه ASP.Net با زبان وي بي انتخاب كنيد اسمشو هرچي ميخواهيد بزاريد
خوب حالا روي WebPage1 راست كليك كنيد و تغيير نام بديد به Login حالا از منو Project-Add WebPage رو انتخاب كنيد و اسمشو Admin بزاريد و خوب حالا به صفحه لاگين برويد و روي فرم دابل كليك كنيد تا به قسمت CodeBehind برويم حالا اين كلاس هارو بايد صدا بزنيم اين كد هارو در بالاي صفحه قرار بديد
کد:
Imports System.Data
Imports System.Data.OleDb
اين كلاس ها براي ارتباط با ديتابيس هستن حالا بايد تابع چك كردن يوزر نيم و پسورد رو بنويسيم
کد:
Function DBConnection(ByVal strUserName As String, ByVal strPassword As String) As Boolean
Dim MyConn As OleDbConnection = New OleDbConnection(ConfigurationSettings.AppSettings("dbpath"))

Dim MyCmd As New OleDbCommand("login_validator", MyConn)

MyCmd.CommandType = CommandType.StoredProcedure
Dim objParam1, objParam2 As OleDbParameter
objParam1 = MyCmd.Parameters.Add("@UserName", OleDbType.Char)
objParam2 = MyCmd.Parameters.Add("@Password", OleDbType.Char)

objParam1.Direction = ParameterDirection.Input
objParam2.Direction = ParameterDirection.Input
objParam1.Value = strUserName
objParam2.Value = strPassword

Try
If MyConn.State = ConnectionState.Closed Then
MyConn.Open()
End If

Dim objReader As OleDbDataReader
objReader = MyCmd.ExecuteReader(CommandBehavior.CloseConnection)

While objReader.Read()
If CStr(objReader.GetValue(0)) <> "1" Then
lblMessage.Text = "You Can not login-Get Out"
Else
objReader.Close()
Return True
End If
End While
Catch ex As Exception
lblMessage.Text = "Error Connecting to Database!"
End Try


End Function
فكر نميكنم زياد نياز به توضيح اين تابع باشه بهر حال اگه سوالي داشتين ميتونيد بپرسيد
حالا روي فرم مون بايد چند تا كنترل قرار بديم يك دكمه بزاريد و اسمشو تغيير نديد و دو تا تكست باكس و يك ليبل
اسم تكست باكس هارو بزاريد txtPass و txtuserID و اسم ليبل رو بزاريد lblMessage خوب حالا ميمونه كد دكمه و تمام .
خودتون كنترل هارو با سليقه خودتون بچينيد يكي از تكست باكس ها برا يوزر نيم و يكي برا پسورد و دكمه هم برا تاييد هستش
حالا روي دكمه دابل كليك كنيد تا قسمت كد نويسي مربوط به باتن باز بشه حالا كد زير رو توش قرار بدين
کد:
If Page.IsValid Then
If DBConnection(txtuserID.Text.Trim(), txtPass.Text.Trim()) Then
Session("User") = txtuserID.Text
Session("pass") = txtPass.Text
Response.Redirect("admin.aspx")
Else

lblMessage.Text = "Wrong Username/Password Please try again."

End If
End If
خوب خط اول اعتبار كنترل هارو چك ميكنه و در خط دوم با استفاده از تابعي كه ساختيم يوزر نيم و پسورد وارد شده رو چك ميكنيم اگه درست بود يوزر و پس رو داخل سيژن قرار ميديم چون بعدا باهاشون كار داريم و بعد صفحه رو به ادمين دايركت ميكنيم در غير اينصورت پيام يوزر نيم و پسورد اشتباه است نمايش داده خواهد شد .
تا اينجا ما قسمت اصلي برناممون رو ساختيم وقتي وارده صفحه لاگين ميشيم ازمون يوزر و پسورد ميخواد كه اگه درست باشه مارو به صفحه ادمين ميبره ولي يه اشكالي هست اگه كاربر بياد و مستقيم تو ادرس بنويسه admin.aspx چي؟ اونوقت صفحمون باز ميشه و تمام زحمات ما به هوا ميره پس يجوري بايد يوزر نيم رو چك كنيم بخاطر همين بود كه پسورد رو داخل سيژن قرار داديم
حالا به صفحه ادمين بريد و روي فرم دابل كليك كنيد و داخل فرم لود كد زير رو بزاريد
کد:
If Session("pass") = "" Then
Response.Redirect("login.aspx")
End If
If Not Page.IsPostBack Then
Label1.Text = " Welcome " & Session("User")
End If
خوب ما در سطر اول چك ميكنيم ببينيم داخل سيژن مون خالي هست يعني يعني چك ميكنيم ببينيم يوزر نيمي وارد شده يا نه ؟!!
اگه وارد نشده باشه دوباره به صفحه لاگين ميفرستيمش در غير اسنصورت به خط بعدي ميريم و اول چك ميكنيم ببينيم صفحه پست بك نباشه و اگه نبود ميايم به يوزر نيم خوش آمد ميگيم برا اين كار رو صفحه يه ليبل با اسم Label1 قرار بديد . حالا ما تو اين خط ميايم
کد:
Label1.Text = " Welcome " & Session("User")
و ميگيم ليبل مارو برابر با خوش آمدي + يوزري كه در صفحه قبل گرفتي و درون سيژن قرار دادي بزار .
خوب تموم شد و الان ميتونيد تست كنيد.
پيوست : ميدونم شايد يكمي گيج كننده باشه ولي اگه متوجه نشديد براي فهميدن اين مقاله نياز به كمي اطلاع درباره ASP.net هستش و بهتره به آموزش هايي كه در اين مورد هست و حتي فارسي هم هست مراجعه كنيد بعد اقدام به خوندن اين مقاله كنيد ميتونيد به www.Iranasp.net كه يكي از اين سايتهاي خوب در زمينه ASP.Net هستش مراجعه كنيد
هرگونه سوالي درباره اين مقاله داشتيد ميتونيد همينجا بپرسيد
يكي اون تاپيك اضافه رو پاك كنه Biggrin
انگار دوتا شد
بيشتر از اينا انتظار ميرفت :cry:
همچين چيزي رو هرجايي نميتونين پيدا كنيد
درضمن اينو پاك نكنين اون يكي رو پاك كنيد
:?
سلام مهدي جون من يكي نوكرتم .
اتفاقا چند وقتي است كه من شديدا دنبال اين موضوع هستم و در حال حاظر در حال تحقيق در اين رابطه هستم تا به مرحله مستند سازي و طراحي برسم . راست ميگي در اينترنت هيچي موجود نيست و اون دو سه تايي هم كه من پيدا كردم مخابرات فيلتر كرده بود .
پس من يكي سرا پا گوشم تا از اطلاعات گرانقدرت در اين زمينه استفاده كنم .
راستش من تقريبا كم اورده بودم و داشتم ميرفتم php ياد بگيرم تا بلكه بتونم از الگوريتمهاي
phpnuke و اين قبيل برنامه ها استفاده كنم .
مهدي با توام مهدي الو مهدي ا كجايي مهدي مهدييييييي ا سلاااااااااااااااااااااااااااااااااااااااااام نوووووووووووووووووكرتمAmaze Amaze Amaze
مهدي جان اگر از مستندات و الگوريتمها لينكي چيزي داري بگو حالشو ببريم
راستش من يكي بيشتر علاقمندم با روشهاي طراحي اين پروژه آشنا بشم تا روش هاي كد نويسي و پياده سازي .
بازم ممنون
اصلا به هيچ عنوان نميتونم از اول بگم اينو بگم [تصویر:  39.%20gif] چون اونوقت بايد بشينم از اول اموزش اي اس پي بدم كه تو حوصله نميگنجه
تازه من اينو برا اونا گفتم كه يخورده از برنامه نويسي وب حاليشونه همون اول هم گفتم و اگه يخورده بلد بودي به عنوان نميگفتي وب بروزر [تصویر:  32.gif]
----
علي جان نظر شما بسي اميد است [تصویر:  43.gif]
اگه ميخواي يه چيز تووپ و باحال ميخواي مثل پي اچ پي ناك با اي اس پي دات نت ميتونم يكي از خوباشو بهت بدم پروژه دات نت نوك
www.dotnetnuke.com
اول بايد ثبت نام كني بعد دانلود چيزه توپيه بخوني همه چي گيرت مياد [تصویر:  39.gif]
راستي اگه دنبال آموزش پي اچ پي هستي تو پي تي من شروع كردم [تصویر:  39.gif] ميتوني اونجا دنبال كني يه جوري شد كه نتونستم اينجا بگم [تصویر:  65.gif]
يه چيزي رو ميدونيد دوستان كامنتهاي كه خودم اينجا گزاشتم بيشتر از بقيه است [تصویر:  80.gif]
ايول دمت گرم عمرا فكر نميكردم دات نت نوك هم باشه .
دانلودش كردم عجب سيستم توپيه . تمام كدها به صورت فوق العاده اي حرفه اي نوشته شده
الانم دارم تجزيه و تحليلش ميكنم تا ببينم چه طوري طراحي شده .
خلاصه كلي حال كدم دمت گرم .
نقل قول: يه چيزي رو ميدونيد دوستان كامنتهاي كه خودم اينجا گزاشتم بيشتر از بقيه است
منم براي بالانس كامنتها گفتم يه چيزي بنويسم :wink:
ولي خيلي عاليه داره كار زير بنايي تو سايت زياد مي شه اما نمي دونم چرا من با اين ASP هال نمي كنم php بيشتر هال مي ده
:oops: :cry:
مگه چيه داداش من فكر كردم منذورت محتويات يه صفحه وب هست
:cry:
خوب اگه حال نميكني پي اچ پي هم داريمAmaze
تو پيتي قسمت صفحات دايناميك بهد آموزش پي اچ پي Biggrin
يه سر بزن آموزش پي اچ پي شروع شده
يه مدت بعد هم ميخوام آموزش سي ام اس ساختن باهاش رو بگم Biggrin
صفحه‌ها: 1 2