با سلام خدمت دوستان عزیز و عرجمند
در این تایپک قرار است همه چیز در مورد asp.net را پیگیری کنیم.
ببینم کی اول شرع می کنه فکر کنم خودم باشم؟
Printable View
با سلام خدمت دوستان عزیز و عرجمند
در این تایپک قرار است همه چیز در مورد asp.net را پیگیری کنیم.
ببینم کی اول شرع می کنه فکر کنم خودم باشم؟
داونلود کد: اعمال متداول با DataGrid در ASP.NET
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
تاريخ هجري شمسي
فايلهاي مورد نياز : Shamsi.asp
توضيحات : تا اونجايي كه يادمه مشكل سال كبيسش حل شده
[PHP]<%
FMonArray= array (0,31,31,31,31,31,31,30,30,30,30,30,30)
EMonArray= Array(0,31, 28,31,30,31,30,31,31,30,31,30,31)
W = Array ("يکشنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه")
Mon = Array ("فروردين", "ارديبهشت", "خرداد", "تير", "مرداد", "شهريور", "مهر", "آبان", "آذر", "دي", "بهمن", "اسفند")
EYear= Year(Date)
EMon= Month(Date)
EDay = Day(Date)
ELeap=0
if ((EYear mod 4))= 0 Then
ELeap =1
End if
Cnt=EMon-1
Temp=0
While Cnt<>0
if ((Cnt=2)and(ELeap=1)) Then
Temp= Temp+29
else
Temp= Temp + EMonArray(Cnt)
end if
Cnt=Cnt-1
Wend
EDayOfYear= Temp+EDay
' Convert to Farsi
Temp= EDayOfYear-79
if Temp>0 Then
FYear= EYear-621
else
FYear= EYear-622
if ((FYear mod 4)=3) then
Temp= Temp+366
else
Temp= Temp+365
End if
End if
if (FYear mod 4)=3 Then
FLeap=1
else
Fleap=0
End if
Cnt= 1
While( (Temp<>0) and (Temp>FMonArray(Cnt)) )
if Cnt=12 Then
if (FLeap=1) Then
Temp=Temp-30
else Temp= Temp-29
end if
else Temp= Temp-FMonArray(Cnt)
end if
Cnt= Cnt+1
Wend
if Temp<>0 Then
FMon = Cnt
FDay= Temp
else
FMon= 12
FDay=30
End if
DateShamsi = W(WeekDay(Date) - 1) & "&nbsp;" & FDay& "&nbsp;" & Mon(FMon - 1) & "&nbsp;" &FYear
%>
<%
response.write(DateShamsi)
%>[/PHP]
>نمايش تصادفي يك خط از فايل
مورد استفاده : نمايش Tip هاي مختلف در صفحه
فايلهاي مورد نياز : text.txt, rndline.asp
توضيحات :
1. در اين مثال فايل text.txt ميبايست شامل 20 خط باشد.
2. پوشه ذخيره اين دو فايل بايد اجازه (permission) تغييرات رو داشته باشد.
كد نمونه :
[PHP]<%
Randomize
' Number of 1-line entries in the text file. 21 here
RandNo = Int(Rnd*20)
' Now open the file with the 20 entries
userFile = "text.txt"
userFile=Server.Mappath (userFile)
Set fs = CreateObject("Scripting.FileSystemObject")
Set thisfile = fs.OpenTextFile(userFile, 1, False)
' If you wish to skip lines, enter that number here
For i = 1 to RandNo -1
thisfile.SkipLine()
Next
' Now assign the variable RandomLineItem to the line selected
RandomLineItem = thisfile.ReadLine
Set fs = Nothing
' Display the Random Line
Response.write RandomLineItem
%>[/PHP]
روز شمار
فايلهاي مورد نياز : countdown.asp
کد:<%
dim strDateTime
strDateTime = CDate("2/9/2000")
strFutureDay = #12/31#
Response.write "There are" & INT(strFutureDay - strDateTime) & " more days till December 31st."
%>
بدست آوردن IP Address كاربر
مورد استفاده : ثبت آي پي و استفاده از آن براي جلوگيري از ثبت بيش از يك راي در نظرخواهي
فايلهاي مورد نياز : ip.asp
نمونه كد :
[HTML]My IP address is <%=Request.ServerVariables("REMOTE_ADDR")%>[/HTML]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
Creating an Engine for Games for Windows
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بدست آوردن نام فايلها
مورد استفاده : به هنگامي كه نياز داشته باشيد نام فايلهاي موجود در يك پوشه را بدانيد.
فايلهاي مورد نياز : filename.asp
توضيحات :
براي استفاده از نمونه كد زير ميبايست پوشه اي با نام MyFolder در پوشه جاري ايجاد نماييد.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کد:<%
Set MyDirectory=Server.CreateObject("Scripting.FileSystemObject")
Set MyFiles=MyDirectory.GetFolder(Server.MapPath("MyFolder"))
For each filefound in MyFiles.files
Response.write filefound.Name
response.write "<br>"
Next
%>
محل برداشت : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ساخت پوشه
فايلهاي مورد نياز : CreateDir.asp
توضيحات :
پوشه ذخيره اين فايل بايد اجازه (permission) تغييرات رو داشته باشد.
نمونه كد :
[HTML]<%
set fs=createobject("scripting.filesystemobject")
MyFolder=server.mappath("/personal/data/")
If NOT fs.folderexists(MyFolder) then
fs.createfolder(MyFolder)
End If
' Check if the creation was a success or not
If fs.folderexists(MyFolder) then
Response.write "Success"
Else
Response.write "Failure."
End If
%> [/HTML]
محل برداشت : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حذف پوشه
فايلهاي مورد نياز : RemoveDir.asp
توضيحات :
پوشه ذخيره اين فايل بايد اجازه (permission) تغييرات رو داشته باشد.
نمونه كد :
کد:<%
set fs=createobject("scripting.filesystemobject")
MyFolder=server.mappath("/download/incoming/")
set delDir = fs.getfolder(myFolder)
delDir.delete
set delDir = Nothing
'Check if the deletion was a success or Not
If fs.folderexists(myFolder) then
Response.write "Deleted"
Else
Response.write "Error"
End If
%>
محل برداشت : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
استفاده از كامپوننت
مورد استفاده : جهت ارسال ايميل به ديگران
فايلهاي مورد نياز : CDONT1.asp , CDONT2.asp , CDONT3.asp , CDONT.dll
توضيحات :
1. در زير سه نوع كد براي استفاده از اين كامپوننت آمده است:
كد اول : ارسال يك ايميل ساده
كد دوم : ارسال ايميل به شكل HTML
كد سوم : ارسال ايميل به شكل HTML + ضميمه
2. براي استفاده از كدهاي زير ميبايست كامپوننت ياد شده (CDONT.dll) در سيستم شما رجيستر شده باشد. درصورتي كه اين كامپوننت را در اختيار نداريد در گوگل جستجو نماييد.
نمونه كد :
كد اول :
[HTML]<%
Dim MyBody
Dim MyCDONTSMail
Set MyCDONTSMail = CreateObject("CDONTS.NewMail")
MyCDONTSMail.From = "somebody@nowhere.com"
MyCDONTSMail.To = "nobody@nowhere.com"
MyCDONTSMail.Subject = "This is a Test"
MyBody = "Thank you " & vbCrLf
MyBody = MyBody & "Please do visit us again" & vbCrLf
MyBody = MyBody & "Always at your service"
MyCDONTSMail.Body= MyBody
MyCDONTSMail.Send
set MyCDONTSMail=nothing
%> [/HTML]
کد دوم
[HTML]<%
Dim MyCDONTSMail
Dim HTML
Set MyCDONTSMail = CreateObject("CDONTS.NewMail")
HTML = "<!DOCTYPE HTML PUBLIC""-//IETF//DTD HTML//EN"">"
HTML = HTML & "<html>"
HTML = HTML & "<head>"
HTML = HTML & "<title>Sending CDONTS Email Using HTML</title>"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""FFFFFF"">"
HTML = HTML & "<font size =""3"" face=""Arial"">"
HTML = HTML & "Name Of Store<br>"
HTML = HTML & "Incoming Customer Order<br>"
HTML = HTML & "<p align = ""center"">Bla Bla Bla Bla Bla</p>"
HTML = HTML & "<body>"
HTML = HTML & "<html>"
MyCDONTSMail.From= "myself@myplace.com"
MyCDONTSMail.To="toyou@urplace.com"
MyCDONTSMail.Subject="Saying Hello"
MyCDONTSMail.BodyFormat=0
MyCDONTSMail.MailFormat=0
MyCDONTSMail.Body=HTML
MyCDONTSMail.Send
set MyCDONTSMail=nothing
%>[/HTML]
کد سوم
[HTML]<%
Dim MyBody
Dim MyCDONTSMail
Set MyCDONTSMail = CreateObject("CDONTS.NewMail")
MyCDONTSMail.From= "somebody@nowhere.com"
MyCDONTSMail.To= "nobody@nowhere.com"
MyCDONTSMail.Cc="nobody2@nowhere.com"
MyCDONTSMail.Subject="This is a Test"
MyCDONTSMail.AttachFile Server.MapPath("/somedirectory/myfile.txt")
' or you could specify the path exactly if you knew it like below
' MyCDONTSMail.AttachFile "C:\inetpub\wwwroot\somedirectory\myfile.txt"
MyBody = "Thank you" & vbCrLf
MyBody = MyBody & "Please visit us again" & vbCrLf
MyBody = MyBody & "Always at your service"
MyCDONTSMail.Body= MyBody
MyCDONTSMail.Send
set MyCDONTSMail=nothing
%>[/HTML]
محل برداشت : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
هش كردن با استفاده از
مورد استفاده : هش نمودن عبارات جهت افزايش امنيت. اين كد كاربردهاي مختلفي دارد.
فايلهاي مورد نياز : MD5.asp
نمونه كد :ب
کد:<%
' Derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm,
' as set out in the memo RFC1321.
'
'
' ASP VBScript code for generating an MD5 'digest' or 'signature' of a string. The
' MD5 algorithm is one of the industry standard methods for generating digital
' signatures. It is generically known as a digest, digital signature, one-way
' encryption, hash or checksum algorithm. A common use for MD5 is for password
' encryption as it is one-way in nature, that does not mean that your passwords
' are not free from a dictionary attack.
'
' This is 'free' software with the following restrictions:
'
' You may not redistribute this code as a 'sample' or 'demo'. However, you are free
' to use the source code in your own code, but you may not claim that you created
' the sample code. It is expressly forbidden to sell or profit from this source code
' other than by the knowledge gained or the enhanced value added by your own code.
'
' Use of this software is also done so at your own risk. The code is supplied as
' is without warranty or guarantee of any kind.
'
' Should you wish to commission some derivative work based on this code provided
' here, or any consultancy work, please do not hesitate to contact us.
'
' Web Site: http://www.frez.co.uk
' E-mail: sales@frez.co.uk
Private Const BITS_TO_A_BYTE = 8
Private Const BYTES_TO_A_WORD = 4
Private Const BITS_TO_A_WORD = 32
Private m_lOnBits(30)
Private m_l2Power(30)
m_lOnBits(0) = CLng(1)
m_lOnBits(1) = CLng(3)
m_lOnBits(2) = CLng(7)
m_lOnBits(3) = CLng(15)
m_lOnBits(4) = CLng(31)
m_lOnBits(5) = CLng(63)
m_lOnBits(6) = CLng(127)
m_lOnBits(7) = CLng(255)
m_lOnBits(8) = CLng(511)
m_lOnBits(9) = CLng(1023)
m_lOnBits(10) = CLng(2047)
m_lOnBits(11) = CLng(4095)
m_lOnBits(12) = CLng(8191)
m_lOnBits(13) = CLng(16383)
m_lOnBits(14) = CLng(32767)
m_lOnBits(15) = CLng(65535)
m_lOnBits(16) = CLng(131071)
m_lOnBits(17) = CLng(262143)
m_lOnBits(18) = CLng(524287)
m_lOnBits(19) = CLng(1048575)
m_lOnBits(20) = CLng(2097151)
m_lOnBits(21) = CLng(4194303)
m_lOnBits(22) = CLng(8388607)
m_lOnBits(23) = CLng(16777215)
m_lOnBits(24) = CLng(33554431)
m_lOnBits(25) = CLng(67108863)
m_lOnBits(26) = CLng(134217727)
m_lOnBits(27) = CLng(268435455)
m_lOnBits(28) = CLng(536870911)
m_lOnBits(29) = CLng(1073741823)
m_lOnBits(30) = CLng(2147483647)
m_l2Power(0) = CLng(1)
m_l2Power(1) = CLng(2)
m_l2Power(2) = CLng(4)
m_l2Power(3) = CLng(8)
m_l2Power(4) = CLng(16)
m_l2Power(5) = CLng(32)
m_l2Power(6) = CLng(64)
m_l2Power(7) = CLng(128)
m_l2Power(8) = CLng(256)
m_l2Power(9) = CLng(512)
m_l2Power(10) = CLng(1024)
m_l2Power(11) = CLng(2048)
m_l2Power(12) = CLng(4096)
m_l2Power(13) = CLng(8192)
m_l2Power(14) = CLng(16384)
m_l2Power(15) = CLng(32768)
m_l2Power(16) = CLng(65536)
m_l2Power(17) = CLng(131072)
m_l2Power(18) = CLng(262144)
m_l2Power(19) = CLng(524288)
m_l2Power(20) = CLng(1048576)
m_l2Power(21) = CLng(2097152)
m_l2Power(22) = CLng(4194304)
m_l2Power(23) = CLng(8388608)
m_l2Power(24) = CLng(16777216)
m_l2Power(25) = CLng(33554432)
m_l2Power(26) = CLng(67108864)
m_l2Power(27) = CLng(134217728)
m_l2Power(28) = CLng(268435456)
m_l2Power(29) = CLng(536870912)
m_l2Power(30) = CLng(1073741824)
Private Function LShift(lValue, iShiftBits)
If iShiftBits = 0 Then
LShift = lValue
Exit Function
ElseIf iShiftBits = 31 Then
If lValue And 1 Then
LShift = &H80000000
Else
LShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If
If (lValue And m_l2Power(31 - iShiftBits)) Then
LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
Else
LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
End If
End Function
Private Function RShift(lValue, iShiftBits)
If iShiftBits = 0 Then
RShift = lValue
Exit Function
ElseIf iShiftBits = 31 Then
If lValue And &H80000000 Then
RShift = 1
Else
RShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If
RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)
If (lValue And &H80000000) Then
RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1)))
End If
End Function
Private Function RotateLeft(lValue, iShiftBits)
RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits))
End Function
Private Function AddUnsigned(lX, lY)
Dim lX4
Dim lY4
Dim lX8
Dim lY8
Dim lResult
lX8 = lX And &H80000000
lY8 = lY And &H80000000
lX4 = lX And &H40000000
lY4 = lY And &H40000000
lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)
If lX4 And lY4 Then
lResult = lResult Xor &H80000000 Xor lX8 Xor lY8
ElseIf lX4 Or lY4 Then
If lResult And &H40000000 Then
lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8
Else
lResult = lResult Xor &H40000000 Xor lX8 Xor lY8
End If
Else
lResult = lResult Xor lX8 Xor lY8
End If
AddUnsigned = lResult
End Function
Private Function F(x, y, z)
F = (x And y) Or ((Not x) And z)
End Function
Private Function G(x, y, z)
G = (x And z) Or (y And (Not z))
End Function
Private Function H(x, y, z)
H = (x Xor y Xor z)
End Function
Private Function I(x, y, z)
I = (y Xor (x Or (Not z)))
End Function
Private Sub FF(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub GG(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub HH(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub II(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Function ConvertToWordArray(sMessage)
Dim lMessageLength
Dim lNumberOfWords
Dim lWordArray()
Dim lBytePosition
Dim lByteCount
Dim lWordCount
Const MODULUS_BITS = 512
Const CONGRUENT_BITS = 448
lMessageLength = Len(sMessage)
lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD)
ReDim lWordArray(lNumberOfWords - 1)
lBytePosition = 0
lByteCount = 0
Do Until lByteCount >= lMessageLength
lWordCount = lByteCount \ BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)
lByteCount = lByteCount + 1
Loop
lWordCount = lByteCount \ BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition)
lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)
lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)
ConvertToWordArray = lWordArray
End Function
Private Function WordToHex(lValue)
Dim lByte
Dim lCount
For lCount = 0 To 3
lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
WordToHex = WordToHex & Right("0" & Hex(lByte), 2)
Next
End Function
Public Function MD5(sMessage)
Dim x
Dim k
Dim AA
Dim BB
Dim CC
Dim DD
Dim a
Dim b
Dim c
Dim d
Const S11 = 7
Const S12 = 12
Const S13 = 17
Const S14 = 22
Const S21 = 5
Const S22 = 9
Const S23 = 14
Const S24 = 20
Const S31 = 4
Const S32 = 11
Const S33 = 16
Const S34 = 23
Const S41 = 6
Const S42 = 10
Const S43 = 15
Const S44 = 21
x = ConvertToWordArray(sMessage)
a = &H67452301
b = &HEFCDAB89
c = &H98BADCFE
d = &H10325476
For k = 0 To UBound(x) Step 16
AA = a
BB = b
CC = c
DD = d
FF a, b, c, d, x(k + 0), S11, &HD76AA478
FF d, a, b, c, x(k + 1), S12, &HE8C7B756
FF c, d, a, b, x(k + 2), S13, &H242070DB
FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE
FF a, b, c, d, x(k + 4), S11, &HF57C0FAF
FF d, a, b, c, x(k + 5), S12, &H4787C62A
FF c, d, a, b, x(k + 6), S13, &HA8304613
FF b, c, d, a, x(k + 7), S14, &HFD469501
FF a, b, c, d, x(k + 8), S11, &H698098D8
FF d, a, b, c, x(k + 9), S12, &H8B44F7AF
FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1
FF b, c, d, a, x(k + 11), S14, &H895CD7BE
FF a, b, c, d, x(k + 12), S11, &H6B901122
FF d, a, b, c, x(k + 13), S12, &HFD987193
FF c, d, a, b, x(k + 14), S13, &HA679438E
FF b, c, d, a, x(k + 15), S14, &H49B40821
GG a, b, c, d, x(k + 1), S21, &HF61E2562
GG d, a, b, c, x(k + 6), S22, &HC040B340
GG c, d, a, b, x(k + 11), S23, &H265E5A51
GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA
GG a, b, c, d, x(k + 5), S21, &HD62F105D
GG d, a, b, c, x(k + 10), S22, &H2441453
GG c, d, a, b, x(k + 15), S23, &HD8A1E681
GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8
GG a, b, c, d, x(k + 9), S21, &H21E1CDE6
GG d, a, b, c, x(k + 14), S22, &HC33707D6
GG c, d, a, b, x(k + 3), S23, &HF4D50D87
GG b, c, d, a, x(k + 8), S24, &H455A14ED
GG a, b, c, d, x(k + 13), S21, &HA9E3E905
GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8
GG c, d, a, b, x(k + 7), S23, &H676F02D9
GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A
HH a, b, c, d, x(k + 5), S31, &HFFFA3942
HH d, a, b, c, x(k + 8), S32, &H8771F681
HH c, d, a, b, x(k + 11), S33, &H6D9D6122
HH b, c, d, a, x(k + 14), S34, &HFDE5380C
HH a, b, c, d, x(k + 1), S31, &HA4BEEA44
HH d, a, b, c, x(k + 4), S32, &H4BDECFA9
HH c, d, a, b, x(k + 7), S33, &HF6BB4B60
HH b, c, d, a, x(k + 10), S34, &HBEBFBC70
HH a, b, c, d, x(k + 13), S31, &H289B7EC6
HH d, a, b, c, x(k + 0), S32, &HEAA127FA
HH c, d, a, b, x(k + 3), S33, &HD4EF3085
HH b, c, d, a, x(k + 6), S34, &H4881D05
HH a, b, c, d, x(k + 9), S31, &HD9D4D039
HH d, a, b, c, x(k + 12), S32, &HE6DB99E5
HH c, d, a, b, x(k + 15), S33, &H1FA27CF8
HH b, c, d, a, x(k + 2), S34, &HC4AC5665
II a, b, c, d, x(k + 0), S41, &HF4292244
II d, a, b, c, x(k + 7), S42, &H432AFF97
II c, d, a, b, x(k + 14), S43, &HAB9423A7
II b, c, d, a, x(k + 5), S44, &HFC93A039
II a, b, c, d, x(k + 12), S41, &H655B59C3
II d, a, b, c, x(k + 3), S42, &H8F0CCC92
II c, d, a, b, x(k + 10), S43, &HFFEFF47D
II b, c, d, a, x(k + 1), S44, &H85845DD1
II a, b, c, d, x(k + 8), S41, &H6FA87E4F
II d, a, b, c, x(k + 15), S42, &HFE2CE6E0
II c, d, a, b, x(k + 6), S43, &HA3014314
II b, c, d, a, x(k + 13), S44, &H4E0811A1
II a, b, c, d, x(k + 4), S41, &HF7537E82
II d, a, b, c, x(k + 11), S42, &HBD3AF235
II c, d, a, b, x(k + 2), S43, &H2AD7D2BB
II b, c, d, a, x(k + 9), S44, &HEB86D391
a = AddUnsigned(a, AA)
b = AddUnsigned(b, BB)
c = AddUnsigned(c, CC)
d = AddUnsigned(d, DD)
Next
MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d))
End Function
%>
<%response.write md5(YourString)%>
يك فايل ASP مى تواند حاوى متون، Tagهاى HTML و اسكريپت ها باشد. اسكريپت ها در يك فايل ASP بر روى سرور اجرا مى شوند.
به عنوان پيش نياز چه چيزى را بايد بدانيد؟
قبل از شروع، بايد با مسائل زير را تا حدودى آشنا باشيد
WWW و HTML و مسائل اوليه ساخت صفحات Web
يك زبان اسكريپت نويسى همچون JavaScript يا VBScript
ASP چيست؟
ASP حروف اختصارى Active Server Pages است.
ASP برنامه اى است كه درون IIS اجرا مى شود.
IIS حروف اختصارى Internet Information Services است.
IIS به عنوان يك مولفه رايگان با ويندوز 2000 عرضه مى شود.
IIS همچنين به عنوان جزئى از Windows NT 4.0 Option Pack است.
Option Pack مى تواند از سايت مايكروسافت داون لود شود.
PWS نسخه كوچكتر - ولى كاملا عمل كننده - از IIS است.
PWS را مى توانيد در سى دى ويندوز 95 يا 98 خود پيدا كنيد.
سازگارى ASP
ASP تكنولوژى مايكروسافت است.
براى اجراى IIS بايد ويندوز NT نسخه 4.0 يا بالاتر را داشته باشيد.
براى اجراى PWS بايد ويندوز 95 يا بالاتر را داشته باشيد.
ChiliASP تكنولوژى است كه ASP را بدون نياز سيستم عامل ويندوز اجرا مى كند.
InstantASP تكنولوژى ديگرى است كه ASP را بدون نياز به سيستم عامل ويندوز اجرا مى كند.
يك فايل ASP چيست؟
يك فايل ASP تقريبا شبيه به يك فايل HTML است.
يك فايل ASP مى تواند حاوى متن، XML، HTML، و اسكريپت باشد.
اسكريپت هاى درون يك فايل ASP بر روى Server اجرا مى شود.
يك فايل ASP پسوند "asp." دارد.
فرق ASP با HTML چيست؟
وقتى كه Browser (كاوشگر اينترنت) درخواست يك فايل HTML را بكند، Server آن فايل را بر مى گرداند.
وقتى كه Browser درخواست يك فايل ASP را بكند، IIS درخواست مربوطه را به موتور (هستهاى كه وظيفه اصلى را بازى مى كند) ASP ارجاع مى دهد. موتور ASP فايل ASP را خط به خط مى خواند، و اسكريپت هاى درون فايل را اجرا مى كند. در نهايت فايل ASP به عنوان يك فايل HTML ساده به Browser برگردانده مى شود.
ASP چه كارى مى تواند براى شما انجام دهد؟
به طور ديناميكى محتويات يك Web page را ويرايش يا اضافه كند.
به درخواست هاى كاربر كه از فرم هاى HTML ارسال شده اند پاسخ دهد.
به هر گونه اطلاعات با بانك اطلاعاتى دسترسى پيدا كرده و نتايج را به Browser برگرداند.
سفارشى نمودن (Customize) يك Web page تا براى كاربران مختلف مفيدتر باشد.
مزاياى استفاده از ASP به جاى CGI و Perl سرعت و سادگى است.
فراهم كردن امنيت بيشتر به گونه اى كه كد ASP شما از طريق Browser قابل مشاهده نيست.
از آن جايى كه فايلهاى ASP به شكل HTML برگردانده مى شوند، ميتوانند بوسيله هر Browserى مشاهده گردند.
برنامه نويسى درست ASP مى تواند ترافيك شبكه را به حداقل برساند.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] :منبع
خوب مثل اینکه فقط خودم هستم بله کسی کمک نمی کنه
چگونه ASP را در رايانه خود اجرا کنيد؟
شما مي توانيد ASP را بدون سرور خارجي در رايانه شخصي خود اجرا کنيد. براي انجام اين کار بايد Microsoft's (Personal Web Server (PWS يا (Internet Information Server (IIS را در رايانه خود نصب کنيد.
اگر در مورد اجراي ASP جدي هستيد، بايد حداقل ويندوز 98، نسخه دوم (Second Edition) داشته باشيد.
اگر در مورد اجراي ASP بسيار جدي هستيد، بايد از ويندوز 2000 استفاده کنيد.
--------------------------------------------------------------------------------
چگونه PWS را در ويندوز 95 نصب کنيد و ASP اجرا کنيد؟
(Personal Web Server (PWS همراه ويندوز 95 نيست!!
براي اجراي ASP بر روي ويندوز 95، شما بايد "Windows NT 4.0 Option Pack" را از مايکروسافت داون لود کنيد.
داون لود "Windows NT 4.0 Option Pack"
--------------------------------------------------------------------------------
چگونه PWS را در ويندوز NT نصب کنيد و ASP اجرا کنيد؟
(Personal Web Server (PWS همراه ويندوز NT نيست!!
براي اجراي ASP بر روي ويندوز 95، شما بايد "Windows NT 4.0 Option Pack" را از مايکروسافت داون لود کنيد.
داون لود "Windows NT 4.0 Option Pack"
--------------------------------------------------------------------------------
چگونه PWS را در ويندوز 98 نصب کنيد و ASP اجرا کنيد؟
شاخه Add-ons را در سي دي ويندوز 98 خود باز کنيد، شاخه PWS را پيدا کرده و فايل setup.exe را اجرا کنيد.
يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد.
يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد.
از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد.
مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه PWS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد.
Browser خود را باز کنيد و تايپ کنيد "http://localhost/MyWeb/test1.asp"، تا اولين صفحه ASP خود را ببينيد.
چگونه PWS را در ويندوز Me نصب کنيد و ASP اجرا کنيد؟
(Personal Web Server (PWS در ويندوز Me وجود ندارد !!
مقاله مربوطه را در سايت مايکروسافت بخوانيد
--------------------------------------------------------------------------------
چگونه IIS را در ويندوز 2000 نصب کنيد و ASP اجرا کنيد؟
از دکمه Start به Settings و سپس Control Panel برويد.
در پنجره Control Panel آيکن Add/Remove Programs را انتخاب کنيد.
در پنجره Add/Remove Programs گزينه Add/Removes Windows Components را انتخاب کنيد.
در پنجره جديد گزينه Internet Information Services را انتخاب کرده، OK را بزنيد.
يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد.
يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد.
از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد.
مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه IIS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد.
Browser خود را باز کنيد و تايپ کنيد "http://localhost/MyWeb/test1.asp"، تا اولين صفحه ASP خود را ببينيد.
--------------------------------------------------------------------------------
چگونه IIS را در ويندوز XP نصب کنيد و ASP اجرا کنيد؟
نکته: شما نمي توانيد ASP را روي ويندوز XP نسخه خانگي (Home Edition) اجرا کنيد.
از دکمه Start به Settings و سپس Control Panel برويد.
در پنجره Control Panel آيکن Add/Remove Programs را انتخاب کنيد.
در پنجره Add/Remove Programs گزينه Add/Removes Windows Components را انتخاب کنيد.
در پنجره جديد گزينه Internet Information Services را انتخاب کرده، OK را بزنيد.
يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد.
يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد.
از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد.
مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه IIS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد.
Browser خود را باز کنيد و تايپ کنيد "http://localhost/MyWeb/test1.asp"، تا اولين صفحه ASP خود را ببينيد.
چگونه ASP را در رايانه خود اجرا کنيد؟
شما مي توانيد ASP را بدون سرور خارجي در رايانه شخصي خود اجرا کنيد. براي انجام اين کار بايد Microsoft's (Personal Web Server (PWS يا (Internet Information Server (IIS را در رايانه خود نصب کنيد.
اگر در مورد اجراي ASP جدي هستيد، بايد حداقل ويندوز 98، نسخه دوم (Second Edition) داشته باشيد.
اگر در مورد اجراي ASP بسيار جدي هستيد، بايد از ويندوز 2000 استفاده کنيد.
--------------------------------------------------------------------------------
چگونه PWS را در ويندوز 95 نصب کنيد و ASP اجرا کنيد؟
(Personal Web Server (PWS همراه ويندوز 95 نيست!!
براي اجراي ASP بر روي ويندوز 95، شما بايد "Windows NT 4.0 Option Pack" را از مايکروسافت داون لود کنيد.
داون لود "Windows NT 4.0 Option Pack"
--------------------------------------------------------------------------------
چگونه PWS را در ويندوز NT نصب کنيد و ASP اجرا کنيد؟
(Personal Web Server (PWS همراه ويندوز NT نيست!!
براي اجراي ASP بر روي ويندوز 95، شما بايد "Windows NT 4.0 Option Pack" را از مايکروسافت داون لود کنيد.
داون لود "Windows NT 4.0 Option Pack"
--------------------------------------------------------------------------------
چگونه PWS را در ويندوز 98 نصب کنيد و ASP اجرا کنيد؟
شاخه Add-ons را در سي دي ويندوز 98 خود باز کنيد، شاخه PWS را پيدا کرده و فايل setup.exe را اجرا کنيد.
يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد.
يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد.
از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد.
مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه PWS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد.
Browser خود را باز کنيد و تايپ کنيد "http://localhost/MyWeb/test1.asp"، تا اولين صفحه ASP خود را ببينيد.
چگونه PWS را در ويندوز Me نصب کنيد و ASP اجرا کنيد؟
(Personal Web Server (PWS در ويندوز Me وجود ندارد !!
مقاله مربوطه را در سايت مايکروسافت بخوانيد
--------------------------------------------------------------------------------
چگونه IIS را در ويندوز 2000 نصب کنيد و ASP اجرا کنيد؟
از دکمه Start به Settings و سپس Control Panel برويد.
در پنجره Control Panel آيکن Add/Remove Programs را انتخاب کنيد.
در پنجره Add/Remove Programs گزينه Add/Removes Windows Components را انتخاب کنيد.
در پنجره جديد گزينه Internet Information Services را انتخاب کرده، OK را بزنيد.
يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد.
يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد.
از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد.
مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه IIS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد.
Browser خود را باز کنيد و تايپ کنيد "http://localhost/MyWeb/test1.asp"، تا اولين صفحه ASP خود را ببينيد.
--------------------------------------------------------------------------------
چگونه IIS را در ويندوز XP نصب کنيد و ASP اجرا کنيد؟
نکته: شما نمي توانيد ASP را روي ويندوز XP نسخه خانگي (Home Edition) اجرا کنيد.
از دکمه Start به Settings و سپس Control Panel برويد.
در پنجره Control Panel آيکن Add/Remove Programs را انتخاب کنيد.
در پنجره Add/Remove Programs گزينه Add/Removes Windows Components را انتخاب کنيد.
در پنجره جديد گزينه Internet Information Services را انتخاب کرده، OK را بزنيد.
يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه wwwroot را پيدا کنيد.
يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد.
از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد.
مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه IIS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد.
Browser خود را باز کنيد و تايپ کنيد "http://localhost/MyWeb/test1.asp"، تا اولين صفحه ASP خود را ببينيد.
نويسنده : محمد باقر معموری
شما نمي توانيد سورس کد هاي ASP را بوسيله انتخاب گزينه View Source در Browser مشاهده کنيد، شما فقط خروجي فايل ASP را مشاهده مىکنيد که HTML ساده است. زيرا که اسکريپت ها قبل از اين که نتايج به Browser فرستاده شود بر روي سرور اجرا مىگردد.
در خودآموزهاي ASP ما تمامي مثالها علاوه بر نتيجه نهايي حاوي سورس کد مربوطه هستند. اين مسئله امکان فهميدن اينکه مثالها چگونه کار مي کنند را براي شما ساده مي کند.
--------------------------------------------------------------------------------
مثالها
نوشتن متن با ASP
چگونه با کمک گرفتن از ASP متوني را بنويسيم.
اضافه کردن HTML به متون
چگونه متون را با استفاده از Tagهاي HTML فرمت بندي کنيم؟
--------------------------------------------------------------------------------
قواعد اساسي نحو
يک فايل ASP به طور عادي دقيقا همانند HTML حاوي Tagهاي HTML است. اگر چه، يک فايل ASP مي تواند همچنين حاوي Scriptها نيز باشد. اين اسکريپت ها به وسيله علامت هاي %> و <% احاطه شده اند. اسکريپت هاي سرور بر روي سرور اجرا مي شود و مي تواند حاوي هر گونه expressions، دستورات (Statements)، توابع، يا عملگرهايي باشد.
--------------------------------------------------------------------------------
آبجکت Response
متد Write مربوط به آبجکت Response براي فرستادن محتويات به Browser استفاده مي شود. به عنوان مثال، دستورات زير براي فرستادن متن "سلام دنيا!" به Browser استفاده مىشود.
<%
response.write("سلام دنيا!")
%>
--------------------------------------------------------------------------------
VBScript
اين امکان وجود دارد که از که از زبان هاي مختلف اسکريپت نويسي در فايلهاي ASP استفاده کنيد. اگرچه زبان پيش فرض، VBScript است.
<html>
<body>
<%
response.write("سلام دنيا!") %>
</body>
</html>
مثال بالا "سلام دنيا!" را در قسمت body متن مي نويسد.
--------------------------------------------------------------------------------
JavaScript
براي اين که JavaScript را به عنوان زبان پيش فرض براي يک صفحه خاص مشخص کنيد مي بايست از راهنماهاي زباني در ابتداي صفحه خود استفاده کنيد:
<%@ language="javascript"%>
<html>
<body>
<%
Response.Write("Hello World!")
%>
</body>
</html>
نکته: JavaScript برعکس VBScript به بزرگ يا کوچک بودن حروف حساس است. شما مجبور خواهيد بود که وقتي زبان احتياج دارد، کد ASP خود را با حروف بزرگ يا کوچک بنويسيد.
--------------------------------------------------------------------------------
ساير زبان هاي اسکريپ نويسي
ASP همراه با VBScript و JScript (پياده سازي مايکروسافت از JavaScript) عرضه مي شود. اگر شما مي خواهيد که با زبان ديگري همچون PERL - REXX يا Phyton کد بنويسيد، مجبور خواهيد بود که موتور Script مربوط به آنها را نصب کنيد.
مهم: به خاطر اين که اسکريپت ها بر روي سرور اجرا مي شوند، به هيچ وجه لازم نيست Browserي که فايل ASP را نشان مي دهد از Scripting پشتيباني کند!
يک متغيير براي نگهداري اطلاعات استفاده مي شود.
اگر يک متغيير بيرون از يک رويه (procedure) تعريف شود، ميتواند بوسيله هر اسکريپت موجود در فايل ASP تغيير يابد. اگر متغيير داخل يک رويه تعريف شود، آن هر بار که رويه اجرا مي شود، ايجاد و سپس نابود مي شود.
--------------------------------------------------------------------------------
مثالها
تعريف کردن يک متغيير
متغييرها براي نگهداري اطلاعات استفاده مي شود. اين مثال نشان مي دهد که چگونه يک متغيير تعريف کنيم، چگونه يک مقدار به آن بدهيم، و چگونه از آن مقدار در يک نوشته استفاده کنيم.
تعريف يک آرايه
آرايهها براي ضبط يک سري از اطلاعات مرتبط به هم استفاده مي شوند. اين مثال نشان مي دهد که چگونه آرايهاي تعريف کنيم که حاوي نام هايي باشد.
چرخشي بر روي Headerهاي HTML
اين مثال نشان مي دهد که چگونه روي شش Header يا تيتر موجود در HTML گردش کنيم؟
نشان دادن پيغام خوشآمدگويي بر حسب زمان با استفاده از VBScript
اين مثال بر حسب زمان سرور يک پيغام مختلف به کاربر نشان خواهد داد.
نشان دادن پيغام خوشآمدگويي بر حسب زمان با استفاده از JavaScript
--------------------------------------------------------------------------------
عمر متغييرها
متغييري که خارج از يک رويه (procedure) تعريف شده است مي تواند بوسيله هر اسکريپتي در فايل ASP در دسترس قرار گرفته و تغيير کند.
متغييري که در داخل يک تابع تعريف شده است هر بار که رويه اجرا مي شود درست و نابود مي شود. هيچ اسکريپتي بيرون از رويه نمي تواند به آن متغيير دسترسي داشته باشد يا آن را تغيير دهد.
براي تعريف متغييرهايي که براي بيش از يک فايل ASP قابل دسترس باشند، آنها را به عنوان متغييرهاي Session يا متغييرهاي Application تعريف کنيد.
متغييرهاي Session
متغييرهاي Session براي نگهداري اطلاعات راجع به يک کاربر استفاده مي شود؛ اين اطلاعات در همه صفحات يک Application قابل دسترسي خواهد بود. به طور مشخص اطلاعات نگهداري شده در Sessionها نام، شناسه و اولويت است.
متغييرهاي Application
متغييرهاي Application نيز در تمامي صفحات يک Application قابل دسترس هستند. متغييرهاي Application براي نگهداري اطالعات راجع به همه کاربران در يک Application خاص استفاده مي شود.
نويسنده : محمد باقر معموری
يك Cookie اغلب براى شناسائى كاربر استفاده مىشود.
--------------------------------------------------------------------------------
مثالها
Cookie خوشآمدگويى
چگونه يك Cookie خوشآمدگويى درست كنيم.
يك Cookie چيست؟
يك Cookie اغلب براى شناسندن كاربر استفاده مىشود. يك Cookie يك فايل كوچك است كه سرور آن را در كامپيوتر كاربر جاسازى مىكند. هر بار كه همان كامپيوتر يك صفحه را درخواست مىكند، Cookie نيز فرستاده مىشود. با ASP شما مىتوانيد هم مقادير Cookie را بسازيد و هم آنها را استخراج نماييد.
چگونه يك Cookie بسازيد؟
Response.Cookie براى ساختن Cookie استفاده مىشود.
توجه: Response.Cookie بايد قبل از تگ درج شود.
در مثال زير، ما يك Cookie درست خواهيد كردم و اسم آن را "firstname" مىگذاريم و مقدار "Alex" را به آن مىدهيم:
همچنين امكان دارد كه خصوصياتى را مثل تاريخ انقضاى cookie را به آن بدهيد:
چگونه مقدار cookieها را استخراج كنيم
دستور "Request.Cookies" براى استخراج اطلاعات از cookieها استفاده مىشود.
در مثال زير، ما مقدار cookieى با نام "firstname" را استخراج كرده و در صفحه نشان داديم:
خروجى:
Firstname=Alex
يك Cookie با كليد
اگر يك cookie حاوى مجموعهاى از مقادير باشد، مىگوييم آن cookie دارى كليدهايى است.
در مثال زير، ما يك مجموعه cookie با نام "user" درست مىكنيم. cookie به نام "user" داراى كليدهايى است كه حاوى اطلاعاتى راجع به كاربر است.
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
خواندن همه Cookieها
به كد زير نگاه كنيد:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
فرض كنيم كه سرور شما همه cookieهاى بالا را به كاربر فرستاده است.
حالا ما مىخواهيم تمام cookieها را كه به كاربر فرستاده شده است را بخوانيم. مثال زير نشان مىدهد كه چگونه اين كار را انجام دهيم (توجه داشته باشيد كه در مثال پايين با استفاده از HasKeys چك مىكند كه آيا cookie كليد دارد يا نه؟
<html>
<body>
<%
dim x,y
for each x in Request.Cookies
response.write("<p>")
if Request.Cookies(x).HasKeys then
for each y in Request.Cookies(x)
response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
response.write("<br />")
next
else
Response.Write(x & "=" & Request.Cookies(x) & "<br />")
end if
response.write "</p>"
next
%>
</body>
</html>
خروجى:
firstname=Alex user:firstname=John user:lastname=Smith user: country=Norway user: age=25
اگر Browser داراى پشتيبانى Cookie نباشد چه اتفاقي مىافتد؟
اگر برنامه شما با Browserى سر و كار داشته باشد كه cookie را پشتيبانى نمىكند، بايد از روشهاى ديگرى براى انتقال اطلاعات از يك صفحه به صفحات ديگر در برنامه خود استفاده كنيد. دو راه براى انجام اين كار هست:
1. اضافه كردن پارامترها به URL
شما مىتوانيد پارامترها را به URL اضافه كنيد:
<a href="welcome.asp?fname=John&lname=Smith">
Go to Welcome Page</a>
و مقادير موجود در "welcome.asp" را همچون مثال زير استخراج كنيد:
2. استفاده از form
شما مىتوانيد از فرمها استفاده كنيد. وقتى كه كاربر روى دكمه Submit كليك كند فرم ورودىهاى كاربر را به "welcome.asp" رد مىكند:
<form method="post" action="welcome.asp">
First Name: <input type="text" name="fname" value="">
Last Name: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>
مقادير موجود در "welcome.asp" را همچون اين مثال استخراج كنيد:
<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>
نويسنده : محمد باقر معموری
دستورات Request.QueryString و Request.Form مىتوانند براى گرفتن اطلاعات از فرمها، مثل ورودىهاى كاربر استفاده گردند.
--------------------------------------------------------------------------------
مثالها
يك فرم با متد "get"
چگونه با استفاده از دستور Request.QueryString به كاربر عكسالعمل نشان دهيد.
يك فرم با متد "post"
چگونه با استفاده از دستور Request.Form به كاربر عكسالعمل نشان دهيد.
يك فرم با Radio Buttonها
چگونه با استفاده از دستور Request.Form و از طريق Radio Buttonها به كاربر عكسالعمل نشان دهيد.
ورودى كاربر
آبجكت Request مىتواند براى گرفتن اطلاعات از كاربر از فرمها استفاده گردد.
<form method="get" action="simpleform.asp">
First Name: <input type="text" name="fname">
<br />
Last Name: <input type="text" name="lname">
<br /><br />
<input type="submit" value="Submit">
</form>
ورودىهاى كاربر مىتوانند از دو طريق استفاده گردد: با Request.QueryString يا Request.Form
Request.QueryString
دستور Request.QueryString براى جمع كردن مقادير موجود در يك فرم با متد "get" استفاده مي شود. اطلاعات فرستاده شده از فرمى با متد "get" براي هر كسى قابل مشاده است (اين اطلاعات در قسمت آدرس Browser نشان داده مي شود) و در مورد مقدار اطلاعات محدوديت دارد.
اگر كاربر در فرمى با متد "get" مقدار "Bill" و "Gates" را وارد كنيد، URLى كه به سرور فرستاده مىشود شبيه به اين خواهد بود:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
فرض كنيد فايل "simpleform.asp" حاوى اسكريپت زير است:
<body>
Welcome
<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
</body>
Browser خط زير در قسمت Body سند نشان خواهد داد:
Welcome Bill Gates
Request.Form
دستور Request.Form براي جمع كردن اطلاعات از يك فرم با متد "post" استفاده مىشود. اطلاعات فرستاده شده از فرمى با متد POST براي بقيه غيرقابل مشاهده است و هيچ محدوديتى در مقدار اطلاعات فرستاده شده ندارد.
اگر كاربر در فرمى با متد "post" كلمه "Bill" و "Gates" را تايپ كند، URLى كه به سرور فرستاده مىشود شبيه به اين خواهد بود:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
فرض كنيد كه فايل "simpleform.asp" حاوى اسكريپت زير باشد:
<body>
Welcome
<%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>
Browser خط زير در قسمت Body سند نشان خواهد داد:
Welcome Bill Gates
تصديق فرم يا تست معتبر بودن (درست بودن) مقادير ورودى
ورودى كاربر بايد در Browser در هر جايى كه امكان داشت (با استفاده از اسكريپتهاى client) تصديق گردد. تصديق Browserى سريعتر است و زمان load شدن سرور را نيز كاهش مىدهد
در صورتى كه مقادير ورودى كاربر وارد Database مىشود لازم است كه معتبرسازى يا تصديق ورودىهاى كاربر بر روى سرور انجام شود. يك راه خوب براى تصديق ورودىهاى كاربر، به جاى فرستادن اطلاعات به يك صفحه ديگر، پست كردن آنها به خود فايل است. در آن صورت كاربر مىتواند خطاها را در خود صفحهاى كه فرم در آن قرار دارد مشاهده نمايد. اين پيدا كردن خطا را براى وى سادهتر مىكند.
مثالها
اجرا كردن يك رويه با استفاده از VBScript
چگونه يك رويه VBScript را از ASP صدا كنيم.
اجرا كردن يك رويه با استفاده از JavaScript
چگونه يك رويه JavaScript را ASP صدا كنيم.
اجرا كردن رويهها با استفاده از VBScript
چگونه هر دوى رويههاى JavaScript و VBScript را از داخل ASP اجرا كنيم.
رويهها
سورس يك ASP مي تواند حاوي رويهها و توابع باشد.
<html>
<head>
<%
sub vbproc(num1,num2)
response.write(num1*num2)
end sub
%>
</head>
<body>
<p>Result: <%call vbproc(3,4)%></p>
</body>
</html>
خط را بالاى خط قرار دهيد تا رويهها و توابع را با استفاده از يك زبان ديگر scriptنويسى بنويسيد:
<%@ language="javascript" %>
<html>
<head>
<%
function jsproc(num1,num2)
{
Response.Write(num1*num2)
}
%>
</head>
<body>
<p>Result: <%jsproc(3,4)%></p>
</body>
</html>
تفاوتهاى بين VBScript و JavaScript
وقتى كه قصد داريد يك رويه نوشته شده در VBScript يا JavaScript را در يك فايل ASP كه با استفاده از VBScript نوشته شده، اجرا كنيد مىتوانيد از كلمه كليدى "call" كه بعد از آن اسم رويه آماده است استفاده كنيد. اگر يك رويه احتياج به پارامترهايى داشته باشد ليست پارامترهاى بايد در بين دو پرانتز قرار بگيرد. اگر "call" را حذف كنيد، ليست پارامترها نبايد در بين دو پرانتز قرار بگيرد. اگر رويه هيچ پارامترى ندارد، استفاده از پرانتز به شما بستگى دارد و انتخابى است.
اگر قصد داريد يك رويه JavaScript يا VBScript را از يك فايل ASP كه با استفاده از JavaScript نوشته شده اجرا كنيد، هميشه بايد پس از نام رويه از پرانتز استفاده كنيد.