Active Server Page چيست ؟

دانلود تحقیق و مقاله رایگان با عنوان Active Server Page چيست ؟ 
با گذشت سال هاي متمادي، ما تغييرات مهمي را در موضوع اينترنت مشاهده مي نماييم. ابتدا ، اينترنت به منظور يك سرويس دهنده ارتباطات متوسط براي بخشهاي دولتي و موسسات دانشگاهي بود. با پيدايش www ، اينترنت يك محيط دوستانه چند رسانه اي شد. در اصل، سرويس اينترنت به عنوان يك مكان براي آدمهاي با ذوق به منظور خلق صفحات خانگي بود، اما هر چه افراد بيشتري به اينترنت وارد شدند اينترنت به يك منبع اطلاعاتي براي همة افراد تبديل شد. وقتي تعداد افراد Online به يك محدودة بحراني رسيد، شركتهايي كه محصولات و خدمات را مي فروختند شروع كردند به spring up نمودن. اين شركتها هيچ حضور فيزيكي نداشتند، فقط يك حضور مجازي داشتند. براي مثال شما مي توانيد از سايت Amazon.com كتاب بخريد، اما شما قادر نخواهيد بود كه كتابفروشي Amazon.com را در همسايگي خودتان پيدا كنيد.

همانگونه كه اينترنت به صورت يك فروشگاه موفق شد، طراحي وب سايت هم تغيير پيدا كرد. در روزهاي اوليه www ، HTML به منظور ايجاد صفحات وب ايستا استفاده مي شد. اما امروزه، صفحات وب ايستا به سرعت در حال منسوخ شدن مي باشند. تصور كنيد اگر Amazon.com تنها از صفحات وب ايستا تشكيل شده بود-شما نمي توانستيد فهرستهاي كتاب را جستجو كنيد. شما نمي توانستيد يك درخواست را به صورت Online صادر كنيد، شما نمي توانستيد توضيحات كاربران ديگر را بخوانيد. اين است دليل يك سرمايه گذاري مطمئن كه اگر Amazon.com از صفحات وب پويا استفاده نمي كرد، نمي توانست تعداد زيادي كتاب بفروشد.

شما مي توانيد صفحات وب پويا را از راههاي زيادي ايجاد نماييد. راه حل مايكروسافت براي ساختن صفحات وب پويا استفاده از Active server page مي باشد كه بصورت مختصر بر آن ASP مي گويند.

ASP شامل دو بخش مي باشد. كدهاي برنامه نويسي و embedded HTML . كدهاي برنامه نويسي مي توانند به وسيلة تعداد زيادي از زبانهاي دست نويس نوشته شوند.

يك زبان دست نويس يك دستور زبان مخصوص است كه براي اجراي دستورات بر روي كامپيوتر استفاده مي شود.

زبانهاي اسكريپت نويسي دست نويس مربوط به وب كه محبوب مي باشند عبارتند از VBScript و JavaScript . وقتي يك صفحة ASP درست مي كنيد، شما مي توانيد از يكي از چهار زبان برنامه نويسي استفاده كنيد. شبيه دستور زبان Visual Basic .

بيشتر صفحات ASP با استفاده از VBScript ايجاد مي گردند. VBScript از چهار زبان ديگر به زبان انگليسي نزديكتر مي باشد و دستور زبان آن شبيه به Visual Basic مي باشد كه تعداد زيادي از توسعه دهندگان وب از آن استفاده كرده اند.

شروع كار با Active Server Pages :

با گسترش اينترنت و www در زندگی روزمره ايجاد وب سايت يکی از بخشهايی است که به سرعت در حال رشد مي باشد . همواره در تار جهان گسترده ، طراحي وب سايت بر ايجاد گرافيك هاي تخيلي و زيبا و صفحات وب ساده براي خواندن مبتني است . به همين دليل امروزه سايت هاي وب محل تلاقي كاربران شده است .

اگر چه خلق يك وب سايت دلپذير مهم مي باشد ، اما تمركز اصلي ، از طراحي گرافيكي به سمت طراحي مبتني بر برنامه نويسي مي باشد . برای مثال تصور کنيد که شما می خواهيد يک وب سايت از چيزی که می توانيد بفروشيد ايجاد کنيد . طراحي مبتني بر برنامه نويسي ، صفحات وبي ايجاد مي كند كه مي توانند اطلاعات صورت حساب هاي كاربران را جمع آوري و ذخيره كنند .

اگر شما احتياج به ساختن يك وب سايت پويا داريد ASP يك راه حل ساده مي باشد . ASP راه حل شركت مايكروسافت براي ايجاد صفحات پوياي وب مي باشد .

ساخت صفحات پويا :

HTML براي ساخت صفحات ايستا بسيار مناسب است صفحات ايستا آنهايي هستند كه براي هر بيننده سفارشي نمي شوند مشخص است كه HTTP مي تواند براي محتويات پويا به كار رود منظور از محتويات پويا آيكن هاي متحرك نيستند كه در اغلب صفحات پويا به كار مي روند. منظور از محتويات پويا براي هر بيننده در هر بار ديدن صفحه سفارشي مي شود و محتويات پويا ارتباط دو طرف را ممكن مي سازد با استفاده از فرم هايي كه در صفحات وب وجود دارد كار بر مي تواند محتويات سفارشي خود را درخواست كند.

دقت كنيد كه استفاده از زبان هاي اسكريپتي مثلScript Java و VBScript براي ساختن صفحات كاملاٌ پوياي وب كافي نيست. توجه به صفحات پويا منجر به ابزارهاي ديگري براي ساخت صفحات وب شده است به طوري كه قرار دادن اسناد HTML در يك پوشه از كامپيوتر و خواندن آن كافي نبود.

مطالب ايستا: تغيير نمي كند. اگر صفحات HTML ايستا هستند و هر وقت كه شما يكي از آنها را با مرورگر باز كنيد آنها دقيقاً همان قبلي را نشان مي دهند.

مطالب پويا: تغيير مي كند و يا تغييرات دستي سازگار هستند وقتي كه به سايت وب يك بانك مي رويد و موجودي حساب خود را درخواست مي نماييد موجودي حساب شما پول است و تغيير مي كند. مانند: ASP .

اجراي صفحات ASP :

براي اجراي صفحات ASPبر روي كامپيوترتان، احتياج به اجراي يك سرويس دهندة web داريد. محصولات رايگان مايكروسافت در دسترس شما قرار دارند كه به شما اجازه مي دهند يك سرويس دهندة وب را روي ويندوز 95 و98 به همان خوبي windowsNT و windows2000 اجرا كنيد.

اگر سرويس دهنده وبي كه صفحات ASP را اداره مي كند نصب نكرده ايد، هنگامي كه يك درخواست صفحة ASP را داخل مرورگر خود مي نماييد، يك پنجرة گفتگو را مشاهده مي كنيد كه از شما مي پرسد كه آيا مي خواهيد فايل ASP را بر روي ديسك ذخيره نماييد يا خير؟ براي مثال يك فايل با پسوند ASP را ايجاد كرده و در داخل آن محتويات يك ليست را كپي نماييد. سپس اين فايل را در داخل مرورگر انتخابي باز نماييد، شما مي بينيد كه يك پنجرة گفتگو از شما سؤال ميكند كه آيا مي خواهيد فايل را بر روي ديسك ذخيره نماييد.

به ياد بياوريد كه يك سرويس دهندة وب با توانايي مديريت صفحات ASP ، صفحه وب درخواستي را قبل از اينكه به سرويس گيرنده بفرستد پردازش مي كند.

در طي اين پردازش دو چيز اتفاق مي افتد:

1- كد برنامه نويسي در صفحة ASP به وسيلة سرويس دهندة تفسير مي گردد.

2- سرويس دهندة وب به مرورگر اطلاع مي دهد كه اطلاعات HTML را فرستاده است و مرورگر اين خطوط HTML را دريافت كرده و براي كاربر اجرا مي نمايد.

اگر شما يك سرويس دهندة وب را نصب نكرده باشيد، و سعي كنيد كه يك صفحة ASP را به وسيلة مرورگرتان مشاهده نماييد، مرحلة دوم انجام نمي شود. اين به معني آن است كه مرورگر مطلع نمي شود كه صفحة ASP شامل كد HTML مي باشد. مرورگر نمي داند كه چه كاري با يك فايل ASP انجام دهد و سعي مي كند كه بوسيلة برنامه هاي ديگر كه فايل با پسوند ASP را مي شناسند اين فايل را ببينيد.

اگر يك برنامه بر روي كامپيوترتان نصب شده باشد كه با فايل هاي با پسوند ASP آشنايي داشته باشد آن برنامه اجرا مي گردد.

تنظيمات سرويس دهنده اطلاعات اينترنت :

نصب IIS در ويندوز 2000 :

(IIS) سرويس دهنده وب حرفه اي مايكروسافت مي باشد. آخرين نسخة IIS نسخه 5.0 مي باشد كه با ويندوز 2000 كار مي كند. ASP 3.0 نيز با IIS 5.0 سازگار مي باشد و به صورت خودكار وقتيIIS 5.0 نصب مي گردد آن نيز نصب مي گردد. اگر ويندوز NT server را اجرا مي كنيد، بهIIS 4.0 احتياج داريد وIIS 4.0 را مي توانيد در windowsNT Option pack 4.0

پيدا كنيد، يا مي توانيد به صورت رايگان از سايت وب مايكروسافت به آدرس

https://www.microsoft.com/msdownload/ntoptionpack/askwiz.asp در يافت نماييد.

IIS 5.0 با ويندوز 2000 تركيب شده است. اگر چه هنگامي كه شما ويندوز 2000 را نصب مي كنيد به صورت پيش فرض IIS 5.0 نصب نمي گردد. براي نصب IIS 5.0 ابتدا Start و سپس Adminstrative tools و configure your server را انتخاب نماييد.

يك جعبه محاوره اي باز مي شود كه داراي چندين گزينة پيكر بندي در پنجره سمت چپ خود مي باشد. از پنجرة سمت چپ، پايين ترين گزينه كه Iabeled Advanced مي باشد را انتخاب نماييد. بر روي دكمة Advanced يكبار كليك كنيد. چهار گزينه آشكار مي شود كه عبارتند از Cluster Service و Message Queuing و Support Tools و Optional Components . برروي گزينة Optional Components كليك كنيد. در پنجرة سمت راست، توضيحي در مورد گزينة Optional Components ظاهر مي گردد.

به جلوتر برويد و بر روي فرامتن Start كليك راست كنيد- اين كار ويزارد اجزاي ويندوز را اجرا مي نمايد- Components Wizard windows 2000 اجزاي انتخابي ويندوز 2000 را نمايش مي دهد. از طريق اين ويزارد، شما مي توانيد اجزاي انتخابي ويندوز را نصب يا رفع نصب نماييد. گزينة Internet Information services را بيابيد.

اجزاي IIS تعدادي از زير اجزاهاي ديگري از سرويس دهنده www را همانند سرويس دهنده FTP و سرويس SMTP شامل مي شوند. براي اينكه تعيين كنيد كه چه اجزايي از IIS نصب شوند، بر روي اجزاي IIS در ويزارد اجزاي ويندوز 2000 كليك كنيد و سپس بر روي دكمة Details كليك نماييد. شما يك ليست از اجزايي كه مي توانند با IIS نصب شوند را مشاهده مي نماييد. اگر شما قصد داشته باشيد كه از Visual Interdev يا FrontPage شركت مايكروسافت به منظور ويرايش سايت وب خور استفاده نماييد، مطمئن گرديد كه بسط هاي FrontPage 2000 Server را نصب كنيد. البته، اين به نصب كردن ديگر اجزاي IIS صدمه اي نمي زند.

بعد از اينكه شما تمام اجزاي IIS را انتخاب كرديد، براي نصب كردن بايد براي دكمة OK كليك كنيد كه شما را به ويزارد Componentswindows 2000 بر مي گرداند. براي شروع به نصب IIS 5.0 بر روي دكمه Next كليك كنيد. وقتي عمليات نصب كامل شد، شما مي توانيد به ISM دسترسي پيدا كنيد.

Internet service manager به شما اجازه مي دهد كه خصوصيات و تنظيمات IIS را پيكر بندي نماييد.

به منظور اجراي ISM ، مراحل زير را انتخاب كنيد.

Start>programs>Administrative tools>Internet Manager

ISM به شما اجازه مي دهد كه سايت وب تان را و سرويس دهنده FTP و سرويس SMTP را پيكر بندي نماييد.

ISM ساختار دايركتوري را براي سايت وب شما نشان مي دهد. شما مي توانيد خصوصيات سايت وبتان را مشاهده و اصلاح نماييد اين كار يك كادر به نام propertiesweb site را باز مي نمايد.

اين كادر همانطور كه متوجه شده ايد داراي 10 ، tab پر از گزينه مي باشد. وارد Tab Directory شويد. به گزينة Local path توجه نماييد. دايركتوري كه دراينجا وارد مي شود دايركتوري فيزيكي ريشه مي باشد و به صورت پيش فرض در داخل Inetpubwwwroot بر روي درايوي كه ويندوز 2000 نصب شده است قرار دارد. اگر شما تمايل داشته باشيد، اين مقدار را تغيير دهيد. اما همانطور كه بيان گرديد عرف استاندارد دايركتوري فيزيكي ريشه Inetpubwwwroot مي باشد.

در زير گزينه Local path، يك سري از كادرهاي انتخاب وجود دارد. دو تا از اين كادرهاي انتخابي شبيه به گزينه هاي موجود در كادر Personal server properties مي باشند و عبارتند از Directory Browsing و VisitsLog . هر دوي اين دو گزينه ها دقيقاً مانند گزينه هاي موجود در PWS مي باشند. با انتخاب Directory Browsing شما به ملاقات كنندگاني كه در URL ، آدرس شما را وارد مي كنند، اجازه مي دهيد كه به اجزاي دايركتوري شما دسترسي پيدا نمايند.

نصب IIS در ويندوز XP :

از start/control panel را انتخاب نماييد. پنجرة control panel باز شده روي Add Or Remove Programs كليك كرده پنجره اي باز شده ، حال در ستون سمت راست روي آيكن Add/Remove Windows Components كليك كرده پنجرة Add/Remove Windows Components باز شده و گزينة Internet Information Services(IIS) را تيك بزنيد. سپس روي دكمة Next كليك كرده IIS نصب مي شود.

حال براي ديدن صفحات مراحل زير را انجام دهيد:

از start/control panel را انتخاب نماييد. پنجره control panel باز شده و روي Administrative tools دو بار كليك نماييد. وبعد از باز شدن پنجره Administrative tools روي آيكن Internet Information Services دوبار كليك كنيد تا پنجرة IIS باز شود.در ستون سمت چپ روي شاخه Default Web Site كليك راست كرده و از منوي ظاهر شده گزينة New/Virtual Directory را انتخاب نماييد. يك پنجره باز مي شود Next كرده در صفحة بعد در كادر جلوي Alias يك نام بدهيد سپس روي دكمة Next كليك كرده ودر صفحة بعد در جلوي كادر Directory آدرس صفحه را ميدهيد مي توانيد از دكمة Browser كمك بگيريد. دكمة Next را كليك كنيد و در صفحة بعد دكمة Finish را انتخاب كنيد. حال در پنجرة Internet Information Services در سمت راست پوشه ها وصفحه اي كه با پسوند Asp را ذخيره كرديد مي توانيد مشاهده كنيد. روي صفحة Asp كليك راست كرده و از منوي ظاهر شده گزينة Browse را انتخاب نماييد. سپس مي توانيد صفحة مورد نظر خود را در Internet explorer و يا هر Browser ديگر مشاهده نماييد.

به کار گيری Frontpage:

در روزهای اوليه تار جهان گسترده هيچ ابزار گرافيکی برای ايجاد صفحات وب در دسترس نبود. کاربران مجبور بودند از ويرايشگرهای ساده متون مانند Notepad برای ايجاد صفحات HTML استفاده نمايند. هنگامی که محبوبيت شبکه ها افزايش يافت ويرايشگرهای HTML زيادی توليد گرديدند. يکی از اين ويرايشگرها Frontpage مايکروسافت می باشد که ابزاری است که به وسيله توسعه دهندگان وب برای ايجاد سريع صفحات وب حرفه ای مورد استفاده قرار می گيرد. Frontpage بر روی ايجاد عناصر HTML متمرکز شده است. و به کاربران اجازه می دهد تا به سادگی محتويات صفحه وب را تايپ نمايندو اشکال را بکشندو رها نمايند و به صفحات وب ديگر متصل شوند. Frontpagetag , هايی که مورد احتياج می باشد را در اختيار اشخاص قرار می دهد. اگرچه Frontpage برای ساختن صفحات وب HTML بسيار سودمند می باشد ولی کارايی خود را هنگام طراحی صفحات ASP از دست می دهد. شما نمی توانيد کدها را به راحتی drag & drop نماييد وبه خاطر اينکه صفحات ASP شامل کدهای scripting می باشند شما نمی توانيد به همان راحتی که برای صفحات وب کدهای HTML را توليد می کرديد کدها را برای صفحات ASP ايجاد نماييد. با وجود اين محدوديت ها ، Frontpage هنوز برای ايجاد صفحات وب استفاده می گردد. توسعه دهندگان از سيستم Frontpage’s SUI به منظور ايجاد HTML برای صفحات وب استفاده می کنند وسپس سورس HTML صفحه ايجاد شده به وسيله Frontpage را باز کرده و کدهای ASP را به آن اضافه می کنند. Frontpageهمانند InterDev شامل تعداد زياد ی ريزه کاريها و پيچيدگيها می باشد.

ايجاد اولين صفحات ASP خودتان :

به منظور ايجاد صفحات ASP شما احتياج به يک کامپيوتر با يک سرويس دهنده وب داريد که تکنولوژی ASP را پشتيبانی نمايد. در اين زمان شما بايد يا يک سرويس دهنده وب که با ASP کار می کند داشته باشيد يا به يک کامپيوتر که بر روی آن چنين سرويس دهنده وبی نصب شده است دسترسی داشته باشيد . بعد از اينکه يک وب سرور را نصب کرديد شما می توانيد صفحات ASP را در دايرکتوری ريشه سايت وبتان ايجاد نماييد يا آنرا در زير فهرستهای دايرکتوری ريشه قرار دهيد و صفحات ASP حاصله را به وسيله مرورگر وب استانداردی مشاهده نماييد. از آنجايی که صفحات ASP به صورت کامل بر روی سرويس دهنده پردازش می گردند و فقط HTML به بخش سرويس گيرنده برگشت داده می شود هر مرورگر وبی می تواند برای مشاهده صفحات ASP مورد استفاده قرار بگيرد. شما هم اکنون عناصر لازم برای ايجاد و ديدن صفحات ASP را در اختيار داريد .

آشنايي با اسكريپت هاي ASP :

دو دستور زير قبل از TAG ، <HTML> نوشته مي شوند:

· منظور از <%@language=VBScript%>چيست؟ به سرويس دهنده وب اطلاع مي دهد كه زبان script كه در صفحة ASP فعلي استفاده شده است چه مي باشد .

· منظور از <%option Explicit %>چيست؟ همه متغيرهاي ما بايد به صورت صريح تعريف گردند

· :<%….%> دستورات VBScript در داخل اين دو tag نوشته مي شوند.

· تعريف: كاراكتر دنبالة خط براي زبان VBScript علامت زير خط (-) قرار دادن آن در انتهاي خط مي گويد كه « ادامه در خط بعدي مي باشد» .

Data types يا انواع داده اي :

انواع مختلفي از داده ها موجود دارند كه شما بايد بتوانيد آنها را در داخل متغير ها ذخيره نماييد: اعداد، كلمات، اطلاعات و چيزهاي ديگر.

متغير ها را در Dim تعريف مي كنيم.

کار با متغيرها :

يک متغير ، يک بخش کوچکی از حافظه است که شما به آن يک نام می دهيد. قوانينی که شما بايد در نامگذاری متغيرهايتان رعايت نماييد به دو گروه تقسيم بندی می گردند. گروه اول قوانينی هستند که به شما در اجتناب از ايجاد پيغامهای خطا کمک می کنند. گروه دوم از قوانين به شما کمک می کنند که بهتر برنامه نويسی نماييد و کدهايتان راحت تر خوانده و تصحيح شوند.

قوانينی وجود دارند که شما بايد از آنها پيروی کنيد. در غير اينصورت سيستم قادر نخواهد بود کدهايتان را اجرا نمايد .

· از dashes , periods , spaces استفاده نکنيد. استفاده از هر کدام از اين موارد باعث ايجاد خطا می گردد.

· نامهای متغيرها بايد با يک حرف شروع شوند.

· نامهای متغيرها نبايد طولانی تر از 255 کاراکتر باشد.

· از کلمات کليدی به عنوان نام متغير استفاده نکنيد.

از نام متغير ها دوباره استفاده ننماييد . شما مي توانيد از نام متغير ها دوباره استفاده نماييد فقط آگاه باشيد كه شما نمي توانيد از همان نام براي دو متغير مختلف استفاده نماييد .

عملگرهای مقايسه :

عملگرهای مقايسه عمل مقايسه بين دو آرگومان را انجام می دهند و خروجی آنها true يا False مي باشد. عملگرهای موجود در VBScript عبارتند از مساوی (=) ، مخالف (<>) ، کوچکتر (>) ، بزرگتر از (<) کوچکتر و مساوی با (=>) و بزرگتر و مساوی با (=<) می باشند .

عملگرهای منطقی :

آنها Not , OR , And و (XOR) exclusive or و(EQV) eQuivaence ,(IMP) Implication می باشند. اگر شما با عبارات منطقی سروکار داشتيد به طور طبيعی بايد طرز استفاده از اپراتورهايی که با آنها به کار می روند را بدانيد . تمام موارد بالا بجز Not دو مقدار Boolean را گرفته و يک مقدار Boolean را برمی گردانند .

ساختار کنترلی منطق شرطی :

منطق شرطی يک شرط يا يک سری از شروط را امتحان می کند و برپايه نتيجه آن کدی که بايد اجرا گردد را انتخاب می نمايد .

· IF-Then statements

جملة IF…Then يكي از معمولي ترين ساختارهاي كنترلي مي باشد. شكل دستوري آن به صورت :

If condition Then

Code block

End If

وقتي شرط برابر True مي گردد، جملات اجرايي اجرا مي گردند، و سپس كدهاي بعد از End If اجرا مي گردند. اگر شرط برابر با مقدار False باشد، جملات اجرايي رد شده و فقط هر چيزي كه بعد از End If آمده است اجرا مي گردد .

· If…Then…Else statements

گاهي اوقات مفيد است كه يك قطعه از كد فقط اجرا گردد كه شرط ما غلط است. شما مي توانيد با اضافه كردن يك عبارت Else به ساختار If…then اين كار را انجام دهيد.

If condition Then

Code block1

Else

Code block 2

End If

حالا اگر If condition برابر با مقدار True بود، Code block1 اجرا مي شود. و مقدار شرط برابر با False بود، كد بلوك 2 اجرا مي گردد .

ساختار کنترلی منطق حلقوی:

منطق حلقه ای به شما اجازه می دهد تا کدهايی را بنويسيد که چندين بار اجرا می گردند. منطق حلقه يک بلوک از کدها را به صورت تکراری اجرا می نمايد البته تا وقتی که شرط معينی اتفاق بيافتد يا هنگامی که شرط معينی درست باشد.

· عبارت Do…Loop :

Do…Loop يکی از دو شکل را می تواند داشته باشد. شکل اول Do While…Loop يک بلوک از کد را تا هنگامی که شرط معينی درست باشد اجرا می کند. نوع دوم Do Until…Loop يک بلوک از کد را تا وقتی که به يک شرط معين برسد اجرا می کند.

· Do While…Loop :

شكل عبارت Do While…Loop به صورت زير است:

Do While Condition

Code block

Loop

كد بلوك تا زماني كه شرط درست است اجرا مي گردد. اگر شرط False باشد براي بار اول عبارت Do اجرا مي گردد، اما حلقه هيچگاه تكرار نمي گردد.

· Do Until …Loop :

عبارت Do Until…Loop بسيار شبيه عبارت Do While…Loop می باشد. تنها فرق آن با Do Until…Loop در اين است که در Do Until…Loop حلقه تا زمانی اجرا می گردد که شرط True شود نه False . هر کاری که يکی از آنها می تواند انجام دهند حلقه نوع دوم نيز می تواند انجام دهد.

· عبارتهاي For each …Next :

ساختار For each …Next براي تكرار كردن هر عنصر در يك گروه مورد استفاده قرار مي گيرد. فرض كنيد كه يك آرايه از نام كاربران داريد و مي خواهيد هر نام را بر روي صفحه نمايش چاپ كنيد. يكي از راه حلها، استفاده از For each …Next و يك شمارنده مي باشد.

For icounter=0 to Arraysize

Response.write(arrusernames(icounter))

Next

براي يك راه حل ديگر مي توان از For each …Next استفاده نمود.

For each strname in arrusernames

Response.write(strname)

Next

وقتي شما مي خواهيد يكسري از اشياء را انتخاب نماييد، استفاده از For each …Next را مفيد تر مي يابيد.

ساختارکنترلی منطق انشعابی:

منطق انشعابی به دو نوع ديگر از ساختارهای کنترلی وابستگی نزديکی دارد. اين منطق به اين صورت است که جريان عادی برنامه را قطع کرده و از يک مرحله ديگر را اجرا می کند. دو نوع کنترل منطق انشعابی وجود دارد. Subroutines و function . سابروتين ها کارها را انجام می دهند. توابع مقادير را محاسبه می کنند.

استفاده از سابروتين ها:

سابروتين ها (همچنين procedures نيز ناميده می شوند.) عملياتی را انجام می دهند. يک نمونه سابروتين در زير بيان شده است :

End sub

Code block

Sub name

فراخوانی يک سابروتين به سيستم می گويد که يک سابروتين را اجرا نمايد و سپس به اجرای معمولی اسکريپت بپردازد.

متغيرهايی که در بدنه اصلی اسکريپت خود تعريف می کنيد عمومی (global) می باشند. آنها به وسيله سابروتين يا تابع موجود در صفحه مورد دسترسی قرار بگيرند.

استفاده از توابع:

توابع مقادير را مورد پردازش قرار می دهند. سابروتين ها با هيچ مقداری مساوی نمی باشند. تنها راهی که شما می توانيد يک سابروتين را فراخوانی کنيد به کار بردن نام آن در يک خط می باشد. در عوض توابع مقادير را برمی گردانند. به اين معنی که فراخوانی توابع را می توانيم در داخل يک عبارت محاسباتی انجام دهيم تا چيزهايی را با يکديگر جمع نمايد و از اين قبيل …

ايجاد يک تابع بسيار شبيه ايجاد سابروتين می باشد. به جای sub عبارت Function را قرار داده و به جای End Sub عبارت End Function را جايگزين نماييد. مهمتر از همه اينکه شما بايد يک خط که می گويد چه مقداری از تابع برگشت داده شود را در داخل آن قرار دهيد. خط مزبور چيزی شبيه خط زير می تواند باشد.

Function-name = some-value

اگرلازم باشد که به صورت ناگهانی به کا رسابروتين يا تابع پايان دهيد ازExit Function يا Exit subroutine استفاده نماييد.

کار کردن با آبجکت ها :

آبجکت ها به افزايش سطح تجرد در صفحه هايتان کمک می نمايد. استفاده از توابع در ساده تر کردن و خواناتر کردن کدهايتان کمک می کنند و آبجکت ها نيز که در سطح بعدی قرار دارند همين مزايا را دارند.

VBScript به صورت پيش فرض دارای شش آبجکت مهم می باشد که ما تنها دو آبجکت بسيار مهم و کاربردی Response وRequest را بصورت مختصر شرح می دهيم.

· آبجکت Response : Response برای فرستادن مقدار به خروجی مورد استفاده قرار می گيرد. متد write خروجی را به مرورگر کاربران وب ارسال می نمايد. آبجکت Response همچنين می تواند کنترل کند که چطور و کی اطلاعات فرستاده شوند . کوکيها بعنوان اطلاعات ذخيره ای نوشته شوند.

· آبجکت Request : اين آبجکت برای گرفتن اطلاعات از client مورد استفاده قرار می گيرد. وقتی که مرورگر وب سرويس گيرنده تقاضای يک صفحه ويژه را می نمايد اين آبجکت حجمی از اطلاعات را برای سرويس دهنده ارسال می کند. اين اطلاعات در داخل آبجکت Request بسته بندی می شوند. مقداری از اين داده ها برای صفحه درخواست شده مفيد می باشند و بقيه ممکن است مفيد نباشند. آبجکت Request به صفحات اجازه می دهد که اطلاعات مورد نياز خود را دريافت نمايند- مثل اطلاعات کوکی , اطلاعات از يک فرم , پرس و جو اطلاعات رشته و چيزهای ديگر.

Request.form( )

توابع Write و Redirect :

· تابع Response.Write : Response.Writeاستفاده مي شود تا ASPموجود روي سرويس دهنده را به شكل HTML كه مرورگر وب كاربران نشان مي دهد، تبديل نمايد. براي مثال، به كد زير توجه نماييد.

<B>

<% Response.Write “hello” %> </B>

متن hello به خروجي فرستاده مي شود. براي كاربر عبارت <B> hello</B> مي باشد. بنابراين در مرور گر وب كاربر كلمه hello را به صورتي كه bold شده باشد خواهد ديد.

· تابع Response.Redirect : URL Response.Redirect كاربر را به صفحه اي كه آرگومان URL مشخص مي كند مي برد.

اگر آدرس مزبور در همان سايت باشد يك URL وابسته كار خواهد كرد. اگر آدرس مربوط در سايت ديگري باشد، بايد آدرس كامل شامل عبارت https:// به كار برده شود.

نكته: URL = Response.Redirect معادل با URL Response.Redirect مي باشد.

فرم ها :

يك فرم دو وظيفه دارد : جمع آوري اطلاعات از كاربر و فرستادن آن اطلاعات به يك صفحة وب ديگر، براي انجام عمل پردازش بر روي آنها. بنا براين با استفاده از فرم، يك صفحة ASP مي تواند وروديهاي كاربر را دريافت نمايد و تصميمهاي برنامه ريزي شده اي را بر روي وروديها اعمال نمايد. فرم ها همچنين به كاربران اجازة وارد كردن اطلاعات را با استفاده از متغيرهاي ورودي مي دهند ( همانند text box ها، list ها و Radio button ها).

براي استفاده از فرم ها در FrontPage از منوي Insert/form مي توانيم استفاده كنيم.

ابتدا از اين منو و از قسمت Form گزينه Form را انتخاب ميكنيم تا در صفحه يك كادر بصورت نقطه چين و دو Button كه نام يكيSubmit و نام ديگريReset ظاهر شود. سپس روي كادر نقطه چين دار كليك راست كرده و گزينة Form properties را انتخاب ميكنيم. يك پنجره باز مي شود Radio button اي كه جلوي آن نوشته شده Send to other را فعال مي كنيم. سپس روي دكمة Option كليك مي كنيم يك پنجره باز مي شود در قسمت Action نام صفحه اي كه قرار است با آن ارتباط بر قرار شود را تايپ مي كنيم. در قسمت Method گزينة Post و يا Get را انتخاب مي كنيم.

تفاوت بين Get و Post

دو راه براي عبور اطلاعات از يك فرم به يك صفحة Asp وجود دارد.متد استفاده از Querystring مي باشد. اين متد وقتي مورد استفاده قرار مي گيرد كه خصوصيت Method فرم به Get تنظيم شده باشد. متد ديگر، Post ، اطلاعات كاربر را با استفاده نكردن از Querystring پنهان مي كند.

Querystring : اطلاعات اضافه اي مي باشند كه با چسبيدن به انتهاي URL براي صفحة وب ارسال مي گردند.

بانك اطلاعاتي :

بانكهاي اطلاعاتي بهترين كارايي را براي ذخيره اطلاعاتي بزرگ ايجاد مي كنند. بانكهاي اطلاعاتي براي ساده كردن پردازش ذخيره و بازيابي اطلاعات طراحي مي شوند. اتصال به يك بانك اطلاعاتي، و انتقال اطلاعات هزينة سنگيني دارد. بانكهاي اطلاعات فقط براي ذخيرة مقادير عظيم اطلاعات براي پريودهاي زماني طولاني مورد استفاده قرار مي گيرند.

اگر شما نياز به ذخيره اطلاعاتي درباره سرويس گيرنده هاي شركتهايي كه با آنها تجارت مي كنيد داريد، از بانك اطلاعاتي استفاده كنيد.

ارتباط با يک بانک اطلاعاتی :

قبل از اينکه بتوانيد کاری با يک بانک اطلاعاتی انجام دهيد بايد با آن ارتباط برقرار نماييد . آبجکت connectionبرای نگهداری اطلاعاتی در مورد بانک اطلاعاتی که میخواهيد به آن دسترسی پيدا نماييد استفاده می شود. اين آبجکت به همان شيوه ای که کامپوننت هايتان را می ساختيد با استفاده از server.createobject ايجاد می گردد:

Dim objconn

Set objconn=server.createobject(“ADODB.Connection”)

مواقع زيادی پيش می آيد که مايليد با چندين بانک اطلاعاتی به صورت همزمان ارتباط برقرار نماييد. ممکن است از چندين بانک اطلاعاتی Access يا مخلوطی از بانک های اطلاعاتی اکسس ، اوراکل و SQL استفاده نماييد. در اين موارد بايد از چندين نمونه از آبجکت connection استفاده نماييد .

كار كردن با بانك هاي اطلاعاتي با استفاده از ASP :

براي ايجاد يك بانك اطلاعاتي با استفاده از Access 2003 ، Access را اجرا كنيد. سپس از منوي فايل گزينه New را انتخاب كنيد. در سمت چپ يك پنجره باز مي شود. روي گزينة Blank database كليك كنيد. يك پنجره باز مي شود كه از شما محل ذخيره شدن بانك اطلاعاتي را سؤال مي كند. پس از مشخص نمودن محل روي Save كليد كنيد يك پنجره باز مي شود كه داراي سه گزينه مي باشد گزينه Create Table in Design View را انتخاب كنيد. اكنون يك ماتريس با سه ستون و چندين سطر را مشاهده مي نماييد. در قسمت Field name نام ستون را وارد مي كنيد. ودر قسمت Data Type نوع را مشخص ميكنيد . وقتي كه همة اطلاعات مورد نياز را وارد كرديد كمي به پيش رفته و اين جدول را با انتخاب منوي File و گزينة Save ذخيره نماييد. اكنون بايد براي جدول يك نام را وارد كنيد ودكمة ok را كليك كنيد. وقتي دكمة ok را براي ذخيره جدول بانك اطلاعاتي خود كليك مي كنيد، به شما هشدار داده مي شود كه هيچ كليد اصلي را تعريف نكرده ايد. پس يك فيلد را به عنوان كليد با انتخاب آيكن كليد در نوار استاندارد انتخاب كنيد سپس دوباره ذخيره كنيد.

براي شروع Design View را ببنديد. سه گزينه اي كه در ابتدا به شما نشان داده شده بود را مي بينيد، علاوه بر اينكه يك آيتم چهار گزينه اي وجود دارد- جدولي كه ايجاد كرده ايد را مي توانيد ببنيد.

برروي نام جدول دو بار كليك كرده انجام اين كار يك پنجرة جديد باز مي كند كه شامل ماتريسي است كه جدول را نشان مي دهد.

براي ارتباط برقرار كردن با يك بانك اطلاعاتي از طريق يك صفحة ASP ، نياز به استفاده از كامپوننت ActiveX Data Objects (ADO) داريد. اين كامپوننت تعدادي از آبجكت هايي را كه مي توان از آنها براي اتصال و پرس و جو كردن بانك اطلاعاتي استفاده كرد را فراهم مي كند.

ActiveX Data Objects (ADO) به همراه ASP آمد و به صفحاتتان اجازه مي دهد كه براحتي به بانك هاي اطلاعاتي اتصال بر قرار نمايند. ADO با هر منبع OLEDB كه شامل منابع سازگار با ODBC مي باشند كار مي كند. بنابراين، با بيشتر بانك هاي اطلاعاتي فعلي كار خواهد كرد.

مدل ADO داراي شش آبجكت مي باشد. از بين اين آبجكت ها، امروزه فقط آبجكت Recordset، Connection مورد استفاده قرار مي گيرند.

آبجكت Connection شما را به منبع اطلاعات متصل مي نمايد. بر قراري اتصال، اولين مرحله براي كار كردن با بانك هاي اطلاعاتي مي باشد.

اين آبجكت به همان شيوه اي كه كامپوننت ها ساخته مي شوند ساخته مي شود با استفاده از server.createobject ايجاد مي گردد:

Dim objconn

Set objconn=server.createobject(“Adodb.connection”)

براي اتصال به بانك دو روش وجود دارد:

1. استفاده از سيستم DSN

2. استفاده از يك ارتباط DSN-Less

در اينجا فقط روش DSN-Less را توضيح مي دهيم:

در اينجا يك پيشنهاد براي استفاده از سيستم DSN وجود دارد. به جاي قرار دادن اطلاعات در داخل DSN ، مي توانيد آن را در داخل يك رشته ارتباطي قرار دهيد. به مثال زير توجه كنيد.

cnn.connectionstring=”driver={Microsoft Access Driver (*.mdb)};” &- “DBQ=e:db3.mdb”

خط DBQ= تعيين مي كند كه در كجاي سرويس دهنده بانك اطلاعاتي قرار داده شده است. اين بايد مسير كامل فيزيكي باشد.

باز كردن اتباط: براي باز كار كردن از متد Open آبجكت connection استفاده مي شود:

Objconn.open

<%

Dim objconn

objconn=server.createobject(“ADODB.connection”)

Objconn.open

%>

بستن يك ارتباط: براي بستن يك ارتباط از متد close آبجكت connection استفاده مي شود:

Objconn.close

آبجكت Recordset :

به شما اجازه مي دهد كه با داده هاي موجود در جدول كار كنيد. آبجكت Recordset داراي مجموعه اي از سطرهاي يك جدول مي باشد. اين آبجكت را مي توان براي خواندن سطرهاي يك جدول، تغيير دادن سطرهاي يك جدول، يا اضافه كردن مجموعه اي از داده هاي جديد به جدول استفاده نمود.

در ابتدا نياز به يك نمونه از آبجكت Recordset داريد. در اينجا چگونگي بدست آوردن آن را نشان مي دهيم:

Dim objrs

Set objrs=server.createobject(“Adodb.Recoerdset”)

متد Open :

آبجكت Recordset با استفاده از متد Open پر از ركوردها مي گردد. متد Open مي تواند مجموعة زيادي از آرگومانهاي متفاوت را بپذيرد و مي توان آن را از راههاي گوناگون مورد استفاده قرار داد. معمولاً اين متد به صورت زير استفاده مي شود:

Recordset.open source, connection, cursortype, locktype, commandtype

Source يك آبجكت command يا يك رشته شامل دستور مشخص شده اي مي باشد. Connection يك آبجكت connection يا يك رشته شامل اطلاعات ارتباطي مي باشد. اگر از رشته استفاده شود، بايد شامل همة اطلاعاتي كه خاصيت connectionstring آبجكت connection دارد، باشد.

Cursortype راهي كه مي خواهيد از ميان ركودست ها عبور كنيد را تعيين مي كند. به صورت پيش فرض مقدار آن ثابت adopenForwardonly مي باشد كه در بيشتر انواع cursor مورد استفاده قرار مي گيرد. adopenForwardonly معين مي كند كه مي توانيد در داخل ركورد ستها فقط به سمت جلو حركت نماييد.

Locktype مربوط به اين مي باشد كه آيا مي توانيد چيزي را در داخل جدول بنويسيد و اگر مي توانيد چگونه؟ مقدار پيش فرض براي locktype ثابت ADO ي adlockReadonly مي باشد، معني آن اين است كه فقط مي توانيد اطلاعات جدول را بخوانيد و نمي توانيد چيزي را به داخل آن جدول بنويسيد.

Commandtype تعيين مي نمايد كه پارامتر source چگونه بايد مورد ارزيابي قرار كيرد. در اين لحظه ، از ثابت ADO ي adcmdtable استفاده مي كنيم.

استفاده از adovbs.inc :

ثابتهاي موجود در آبجكت Recordset بصورت پيش ساخته در ASP وجود ندارند. شما مي توانيد آنها را هر زماني كه به آنها احتياج داريد تعريف نماييد يا مي توانيد از فايل adovbs.inc كه شامل همة ثابتهاي تعريف شده براي ADO مي باشد، استفاده نماييد. اين فايل به همراه IIS وجود دارد و در مسير C:program Filecommon Filessystemado به صورت پيش فرض نصب مي شود. اين فايل را در دايركتوري ريشة وب خود كپي كنيد و آنرا به صفحه اي كه مي خواهيد از ثابتها در آن استفاده مي نماييد، به صورت زير ملحق نماييد:

<!– # incluce virtual=”/ adovbs.inc”–>

:Movenext اشاره گر را به ركورد بعدي مي برد.

BOF : يك مقدار Boolean مي باشد كه هنگامي كه هنوز در ابتداي recordset قرار داريد مقدار آن True مي باشد.

EOF : يك مقدار Boolean مي باشد كه اگر به انتهاي ركرد ست رسيده باشيد مقدار آن True مي باشد.

مثال:

Do while not objrs.eof

تا زمانيكه به آخر ركورد ست نرسيده اي ادامه بده

درج کردن رکوردها :

خواندن اطلاعات از بانک اطلاعاتی دارای محدوديت می باشد. قدرت واقعی سايت های وب Data-Driven در توانايی اضافه کردن و تغيير دادن اطلاعات در صفحات شما آشکار می شود. اين تواناييها می تواند شامل اجازه دادن به کاربران برای رجيستر شدن بر روی سايت امکان خريد کردن و امکان باز خورد کردن باشد. توانايی در اضافه کردن داده ها به بانک اطلاعاتی در بيشتر سايت های data-driven کار بسيار سختی می باشد. رجيستر کردن کاربران جديد , رکوردهای خريد , اضافه کردن مندرجات و موارد ديگر جزو اين قابليت می باشند.

آبجکت Recordset دو متد دارد که شما می توانيد از آنها برای ايجاد تغيير بر روی بانک اطلاعاتی استفاده نماييد: متد Update و متدAddNew . متدAddNew يک رکورد جديد را در داخل رکوردست ايجاد می نمايد. رکورد جديد تا زمانی که متد update فراخوانی نشود به بانک اطلاعاتی اضافه نمی گردد. بعد از فراخوانی متدAddNew رکورد جديد به عنوان رکورد فعلی قلمداد می گردد و حتی بعد از فراخوانی متد update به عنوان رکورد فعلی باقی می ماند.

در اينجا چگونگی استفاده از متدهای Update و AddNew را به شما نشان می دهيم. فرض کنيد که رکوردست Objrs به درستی باز شده است :

Objrs.AddNew

Objrs(“Name”)=”Bill”

Objrs(“Email”)=whois@nothing.net

Objrs.Update

به روز رسانی رکوردها :
شما همچنين می توانيد از متد update برای انجام تغييرات در رکوردهای موجود استفاده نماييد. به جای فراخوانی متد AddNew به سراغ رکوردیکه قصد تغيير دادن آن را داريد برويد. مقادير فيلد را با استفاده از عملگر مساوی تنظيم نماييد. وقتی که کار شما تمام شد متد update را فراخوانی نماييد :

Objrs(“username”)=”Fred”

Objrs(“email”)=”f2@whatever.net”

Objrs.update

دو خط اول مقادير فيلدهای username و email رکورد فعلی را تغيير می دهند. سپس با فراخوانی متد update اين تغييرات در داخل بانک اطلاعاتی ذخيره می گردند.

حذف رکوردها :

متد Delete آبجکت Recordset اجازه ی پاک کردن ساده رکوردها را می دهد. متد Delete رکورد فعلی را با فراخوانی به صورت زير پاک می نمايد:

Objrs . Delete