ايران ويج

نسخه‌ی کامل: سيستم مديريت محتواي وب - قسمت اول
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلامBiggrin
تو اين مجموعه آموزشي ميخوام اموزش ساخت يك سي ام اس خيلي ساده رو براتون بگم
فكر نميكنم تو اينترنت مقالات زيادي درباره اين باشه من كه هيچي پيدا نكردم .
لازمه كه بگم ما از وي بي برا كد نويسي استفاده ميكنيم و سي شارپ كارها خيلي راحت ميتونن به سي شارپ تبديل كنن بهر حال اگه كسي خواست با سي شارپ هم ميگم طبيعي است كه لازمه درك اين مقاله آگاهي هرچند جزئي از وي بي و اچ تي ام ال و اي اس پي دات نت هست
خوب CMS ما خيلي ساده خواهد بود و همينطور از اكسس استفاده خواهيم كرد كه خودتون هم ميتونيد خيلي ساده با كمي تغييرات برا SQLDB هم بنويسيد .
خوب اول ديتابيسمون رو ميسازيم پس اكسس رو باز كنيم و يه ديتابيس با اسم db بسازيد حالا يك جدول با اسم tblUser بسازيد
و توش سه تا فيلد با اسم هاي id , U_Name , U_Password بسازيد خاصيت ايدي رو هم اتو نامبر بزاريد.
خوب اين از فايل ديتابيسمون حالا ميرسيم به تنظيمات وب كانفيگ پس باز كنيد و خط زير رو بهش اضافه كنيد
کد php:
<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 رو انتخاب كنيد و اين كد هارو داخلش قرار بديد :
کد php:
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 برويم حالا اين كلاس هارو بايد صدا بزنيم اين كد هارو در بالاي صفحه قرار بديد
کد php:
Imports System.Data
Imports System
.Data.OleDb 
اين كلاس ها براي ارتباط با ديتابيس هستن حالا بايد تابع چك كردن يوزر نيم و پسورد رو بنويسيم
کد php:
Function DBConnection(ByVal strUserName As StringByVal 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 خوب حالا ميمونه كد دكمه و تمام .
خودتون كنترل هارو با سليقه خودتون بچينيد يكي از تكست باكس ها برا يوزر نيم و يكي برا پسورد و دكمه هم برا تاييد هستش
حالا روي دكمه دابل كليك كنيد تا قسمت كد نويسي مربوط به باتن باز بشه حالا كد زير رو توش قرار بدين
کد php:
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 چي؟ اونوقت صفحمون باز ميشه و تمام زحمات ما به هوا ميره پس يجوري بايد يوزر نيم رو چك كنيم بخاطر همين بود كه پسورد رو داخل سيژن قرار داديم
حالا به صفحه ادمين بريد و روي فرم دابل كليك كنيد و داخل فرم لود كد زير رو بزاريد
کد php:
If Session("pass") = "" Then
Response
.Redirect("login.aspx")
End If
If 
Not Page.IsPostBack Then
Label1
.Text " Welcome " Session("User")
End If 
خوب ما در سطر اول چك ميكنيم ببينيم داخل سيژن مون خالي هست يعني يعني چك ميكنيم ببينيم يوزر نيمي وارد شده يا نه ؟!!
اگه وارد نشده باشه دوباره به صفحه لاگين ميفرستيمش در غير اسنصورت به خط بعدي ميريم و اول چك ميكنيم ببينيم صفحه پست بك نباشه و اگه نبود ميايم به يوزر نيم خوش آمد ميگيم برا اين كار رو صفحه يه ليبل با اسم Label1 قرار بديد . حالا ما تو اين خط ميايم
کد php:
Label1.Text " Welcome " Session("User"
و ميگيم ليبل مارو برابر با خوش آمدي + يوزري كه در صفحه قبل گرفتي و درون سيژن قرار دادي بزار .
خوب تموم شد و الان ميتونيد تست كنيد.
پيوست : ميدونم شايد يكمي گيج كننده باشه ولي اگه متوجه نشديد براي فهميدن اين مقاله نياز به كمي اطلاع درباره ASP.net هستش و بهتره به آموزش هايي كه در اين مورد هست و حتي فارسي هم هست مراجعه كنيد بعد اقدام به خوندن اين مقاله كنيد ميتونيد به www.Iranasp.net كه يكي از اين سايتهاي خوب در زمينه ASP.Net هستش مراجعه كنيد
هرگونه سوالي درباره اين مقاله داشتيد ميتونيد همينجا بپرسيد
اينو پاك كنيد