تحقیق درباره طراحی سایت هتل
پيشگفتار
ارتباطات در عصر حاضر و در آغاز قرن بيست و يكم الفباي زندگي صنعتي¸ مدرن و متمدن، جوامع مترقي اين كره خاكي را تشكيل ميدهد. اهميت ارتباطات و در معنايي سادهتر تبادل اطلاعات بين جوامع بشري و انسانها كه تشكيل دهنده جوامع بشري ميباشند و در عصر امروز حضور آن مهم و حائز اهميت است كه به زعم بزرگان علم در جهان امروز اگر كسي خود را بي نياز از تبادل اطلاعاتي بداند در حقيقت دچار توهمي بزرگ از يك محيط پر رمز و واقعيت گشته و در حقيقت از آمادگي لازم براي ورود به قرن بيست و يكم برخودار نميباشد و از قافله به شدت عقب مانده است.
نظريات ارتجاعي در محدود كردن جوامع بشري در دستيابي به اطلاعات مجكوم به شكست هستند پيشرفت علم و فن در جهان امروز آن قدر سريع و شتابان است كه هرگز هيچ كشور مقتدري در دنيا خود را از دريافت اخبار و اطلاعات مربوط به مراكز ديگر با كشورهاي ديگر بي نياز نميداند. حتي كشورهاي در حال توسعه، يا حتي كشورهاي فقير به تناوب سود ميبرند.
اگر حادثهاي در نقطهاي از جهان روي داد با مخابره خبر آن، در عرض كمتر از يك صدم ثانيه به سراسر جهان همه مردم دنيا به كمك اين قسمت از كره خاكي ميشتابند و همه اينها ممكن نيست مگر به وسيله تكنولوژي ارتباط و اطلاعات گسترش سيستمهاي اطلاعاتي در سراسر جهان از قبيل ماهوارهها، سيستمهاي مايكروويو، سيستمهاي اطلاعات كامپيوتري و غيره… جهان بزرگ ما را تبديل به يك دهكده كوچك كرده است، به طوري كه هر فرد از هر مليتي در دورترين فاصله كره خاكي ميتواند در آن واحد با ديگري ارتباط برقرار كند و هر اتفاقي هرچقدر كوچك و بي اهميت توسط سيستمهاي پيشرفته تبادل اطلاعات به دورترين فاصله از آن نقطه مخابره ميشود، گو اينكه فاصله در جهان ما از بين رفته و بعد جغرافيايي كره زمين و چه بسا فضاي كيهاني تبديل به مسافتي كوتاه شده است.
چكيده پروژه
پروژه در پيش رو داريد جهت انجام پروژه فارغ التحصيلي دوره علمي كاربردي كامپيوتر در سال تحصيلي 84-83 به انجام رسيده است. اين پروژه زير نظر استاد ارجمند جناب آقاي مهندس ترك زاده مراحل تكميلي خود را طي نمود.
در طراحي پروژه از نرمافزارهاي زير استفاده شده است:
Dream weaver*
SQL serer*
ASP.Net*
اين پروژه كليه امكانات سايت يك هتل را دارا ميباشد و اطلاعات لازم در اين زمينه را در اختيار مراجعه كنندگان ميگذارد.
به عنوان مثال فردي كه بخواهد از اين سايت استفاده نمايد بعد از مطالعه امكانات هتل و بازديد اتاقها ميتواند با تكميل فرم رزرو اتاق مورد نظر خود را رزرو كند.
فصل اول
آشنايي بااينترنت
تاريخچه اينترنت
براي درك اساسي و بنيادين يك علم و جهتگيري به سمت جنبههاي علمي آن دانستن تاريخ و علل بوجود آمدن آن ضروري مينمايد. لذا ابتدا به تشريح تاريخ اين علم ميپردازيم. تولد ارتباطات كامپيوتري تاريخ جالبي دارد و آن به رقابت بين دو ابر قدرت قرن بيستم يعني اتحاد جماهير شوروي سابق و ايالت متحده آمريكا مربوط ميشود. همانطور كه ميدانيد اولين ماهواره مصنوعي ساخت دست بشر در سال 1975 به نام اسپوت نيك توسط شوروي به فضا پرتاب گرديد درست از همين سال علم تبادل اطلاعات كامپيوتري بوجود آمد.
ماهوارههاي در ارتباط مخابراتي و جاسوسي و به طور كلي جذب اخبار و ارقام توانائيهاي فراواني دارند. اين توانايي و قابليت كاملاً مورد توجه دانشمندان آمريكايي و بطور كلي نظام آمريكايي بود. نظامي كه در اين زمينه در آن سالها داراي عقب ماندگي محسوسي از شوروي بود لذا مراكز تحقيقاتي بطور اعم و مراكز نظامي بطور اخص در آمريكا مامور شدند تا با توجه به قابليت توانايي موشكهاي شوروي در پرتاب ماهوارهها به فضا در نتيجه حمل بمب اتمي توسط موشك و پرتاب آن به شهرهاي آمريكا و همچنين توانايي گسترده مخابراتي شوروي سيستمي را طراحي كنند كه اگر به فرض يكي از شهرهاي آمريكا توسط بمبهاي اتمي نابود شد سيستمي موجود باشد و اطلاعات موجود در كامپيوترهاي اين شهر را قبل از نابودي به شهر ديگر منتقل كند. دانشمندان و محققان در پنتاگون (وزارت دفاع آمريكا) موفق به طراحي سيستمي شدند كه قابليت انتقال اطلاعات مثلاً از طبقه دوم پنتاگون اتاق 402 را به طبقه چهارم اتاق 944 و ساير طبقات و اتاقهاي اين وزارتخانه را داشت. يعني دو كاربر در چند نقطه مختلف اين سازمان توانايي تبادل اطلاعات بين يكديگر و بين يك كامپيوتر مركزي را داشته باشند و همچنين ميتوانستند توسط اين سيستم به تبادل نامه بپردازند كه اين سيستم انتقال نامه هم اكنون پست الكترونيكي ناميده ميشود. اما يادآوري اين نكته ضروري مينمايد كه در سيستمهاي مدرن امروزي و سيستمهايي كه در آينده طراحي خواهند شد انتقال نامه به يك موضوع پيش پا افتاده و بسيار ساده تبديل خواهند شد. در سيستمهاي آينده انسان خود انتخابگر خواهد شد و آنچه كه او را اراده كند كه انجام دهد فقط با يك كامپيوتر و يك مودم و يك خط تلفن در منزل يا محل كار او امكان پذير ميشود.
به هر حال سيستمي كه شرح گرديد در ابتدا به نام آرپا مشهور شد ماموريت اصلي و نهايي آرپا تحقيق و اتصال كامپيوترهاي دانشگاه و مراكز نظامي از طريق بستر مخابراتي به نحوي بود كه چندين كاربر بتوانددر يك محيط ارتباطي با هم شريك شوند. هدف ايجاد شبكههايي بود كه در آن اطلاعات كه همان دادههاي كامپيوتري ميباشند بتوانند از نقطهاي به نقطه ديگر بروند و تمام شبكههاي محلي در نقاط مختلف به يكديگر متصل شوند.
البته در ابتدا هدف آرپا ايجاد شبكهاي مانند اينترنت نبود وفقط يك اقدام احتياطي در مقابل حمله احتمالي موشكهاي اتمي دوربرد اتحاد جماهير شوروي بود. در اوايل 1973 يعني زماني كه سيستمهاي كامپيوتري بزرگ در بازار بودند و هنوز خبري از كامپيوترهاي شخصي نبود آرپا كه با افزوده شدن (DEFENCE) به آژانس پروژههاي پيشرفته دفاعي به DARPA تغيير نام داده بود شروع به كار بر روي پروژه جديدي براي به هم مرتبط سازي سيستمها كرد هدف از اين پروژه يافتن راهي براي متصل ساختن شبكهها به يكديگر بود البته بايد توجه داشت كه هر يك از اين شبكهها براي جابه جايي اطلاعات خود از روشهاي متفاوتي استفاده كردند.
وقتي روش مرتبط ساختن كامپيوترهاي شخصي مطرح ميشد صاحبان شبكهها ميتوانستند از طريق تجهيزات خاصي موسوم به دروازهها شبكههاي خود را به هم وصل كنند كه البته ارتباط بين شبكهها احتياج به پروتكل هاي مناسب داشت.
در سال 1962 پاول بارن در مقالهاي تحت عنوان روي شبكههاي ارتباطي توضيحاً به تشريح شبكههاي PACKET SWITCH پرداخت در اين روش دادهها به قطعات و بستههاي كوچكتري خرد ميشوند و هر بسته شبيه يك نامه پستي شامل آدرس فرستنده و گيرنده است و ميتواند از هر مسيري به مقصد برسد در مقصد بستهها مجدداً يك پارچه ميشوند و به فرم كامل تحويل مقصد ميشوند. در سال 1969 ايالات متحده چهار كامپيوتر را با استفاده از تكنولوژي PACKET SWITCH در ايالت هاي كاليفرنيا و يوتا به هم متصل كرد اين شبكه خوب كاركرد و كاربران اين كامپيوترها توانستند تقريباً همزمان به ديگر كاربران پيام بفرستند و فايل به اشتراك بگذارند، اين پروژه همان آرپا نام گرفت اما يك كلمه جديد به انتهاي ان اضافه شد و به صورت (ARPANET) درآمد با گذشت زمان، كامپيوترها و كابران جديد در سايت هاي دولتي و دانشگاهي به آن اضافه شدند در سال 1970 كامپيوترهاي ميزبان استفاده از پروتكل كنترل شده NCP را شروع كردند و يك سال بعد به تعداد گرههاي اين پروژه به 15 و تعداد ميزبانهاي آن به 32 عدد رسيد در همين سال شخصي به نام نايلون سيستم نامهرسان الكترونيكي را براي يك شبكه توزيع شده ابداع نمود در سال 1973 كشورهاي بريتانيا و نروژ به ARPANET متصل شدند در سال 1974 دكتر رابرت متكالف نيز نظريه خود را در مورد اينترنت ارائه داد در همين سال سيرف و باب كان جزئيات پروتكل TCP را ارائه داد كمپاني BBN نيز بر نسخه تجاري آپارنت به اسم رتل بنت را ارائه كرد. از اواسط دهه 1970 تا 1980 شبكههاي كوچكي از آرپانت استفاده كردند و تصميم گرفتند تا به صورت شبكهاي با هم كار كنند آنها آرپانت را به عنوان هسته انتخاب كردند و شروع به ارتباط از طريق خطوط استيجاري نمودند در سال 1986 سرعت اين شبكهها 56 كيلو بيت در ثانيه بود. سرانجام در سال 1990 آرپانت تغيير يافت و نام اينترنت بر روي آن گذاشته شد. در آن زمان از سيستمهاي يونيكس در يك محيط خط فرماني براي استفاده از امكانات اينترنت استفاده ميشد با دستوراتي مثل FTPو TELNET براي اتصال و استفاده از ساير امكانات اينترنت استفاده ميشد كه لازم بود هر بار كاربر شناسه كاربري و رمز عبور وارد نمايد.
فصل دوم
آشنايي با وب جهاني
تاريخچه صفحات وب
وب جهاني بخشي از اينترنت است كه يك مدل ارتباطي را مشخص ميكند بر روي وب جهاني اطلاعاتي وجود دارد كه تنها با يك كليك در اختيار قرار ميگيرد. وبها منابعي اطلاعاتي در اينترنت هستند وب سايت با صفحه وب متفاوت است وب سايت ممكن است شامل چندين صفحه، فايل، تصوير، صوت و غيره باشد پس هر وب سايت متشكل از صفحات مختلفي است كه يكي از آنها به عنوان Home page شناخته ميشود. صفحات هر سايت وب بر روي كامپيوتري قرار دارد كه به مشتريان وب خدمات ارائه ميدهد اين كامپيوتر ميتواند يك كامپيوتر خصوصي يا يك Server شبكه باشد كه براي امور ديگري نيز مورد استفاده قرار ميگيرد. به هر حال اين كامپيوتر بايد به اندازه كافي بزرگ بوده تا قابليت سرويسدهي به درخواستهاي همزمان را داشته باشد.
در سال 1980 در مكاني به نام CERN (آزمايشگاه اروپايي مربوط به فيزيك ذرات) شخصي به نام تيم برنزلي توسعه اتصالات كامپيوترهاي جهاني را پيشبيني كرد كه از طريق آن بتوان به تمام انواع اطلاعات و فايلهاي جامعه فيزيك دست يافت در سال 1989 پيشنهادي را ارائه كرد كه آغازگر وب جهاني بود به زودي مشخص شد كه موضوع اجتماع متصل به هم ميتواند فراتر از فيزيك باشد بعد از آن وب جهاني متولد شد و سازمانهاي به فكر مونتاژ سختافزار شدند و با چگونگي توسعه اين شبكه گسترده آشنايي پيدا كردند اولين كامپيوترهاي وب جهاني در CERN توليد شد. اين كامپيوترها منجر به توسعه وب جهاني شدند.
در آغاز وب جهاني فط شامل چندين ماشين SERVER/CILENT بود اما پس از چند سال بسيار گسترده شد كامپيوترهاي SERVER/CILENT اساس اينترنت هستند بطور كلي SERVER كامپيوتري است كه دادهها و اطلاعات را تحويل مي دهد و CLIENT كامپيوتري است كه دادهها و اطلاعات را درخواست ميكند. در سال 1993 وب فقط پنجاه SERVER داشت در مدت هجده ماه اين عدد به سي هزار عدد افزايش يافت در حال حاضر ميليون ها SERVER وب در جهان وجود دارد.
محتويات وب
ميخواهيم ببينيم چه عناصري در صفحات وب نقش اصلي را بازي ميكنند.
HTML: زبان برنامه نويسي وب جهاني كه به مرورگر ميگويد چگونه متن، پيوندها، گرافيك و ساير رسانههاي اسناد را نمايش دهد. اين زبان اساس تمام صفحات وب است.
كنترل گر وب: مسئول نگهداري و بازسازي سند وب جهاني است كنترلگرهاي وب نيروي خلاق ماوراي وب جهاني هستند.
نام دامنه: نامي است كه به هر كامپيوتر موجود در وب جهاني داده ميشود كه به عنوان تهيه كننده اطلاعات فايلهاست اسامي دامنه دو يا چند عبارت است كه با نقطه از هم جدا ميشوند مثل: WWW.MIT.EDU
URL: آدرس اسناد وب جهاني است كه گاهي آدرس وب جهاني نيز ناميده ميشود مثلا: http/www.yahoo.com سايت ياهواست.
كاربردهاي وب جهاني
وب جهاني كاربردهاي فراواني دارد. سرگرمي، تجارت، آموزش، تبليغات و هزاران كار ديگر در وب جهان امكان پذير است. ميتوان براي خريد اتومبيل به سايتهاي مربوط به كارخانههاي معروف دنيا مراجعه كرد و از تازهترين مدل هاي اتومبيل همراه با رنگ، قيمت، و ساير مشخصات با خبر شد. ميتوان براي خريد كتاب به سايتهاي معروف اينترنت مراجعه كرد.
فروشگاههاي بزرگ كتاب مثل آمازون آمادگي ارائه هرگونه خدماتي را در خصوص كتاب دارند. ناشرين معروف دنيا سايتهايي دارند كه كتب خود را همراه با آن ارائه دهند.
اگر به تجارت علاقه داريد ميتوانيد گزارش سالانه قيمت هاي فعلي كالا، موجودي كالا و ساير اطلاعات را بدست آوريد. براي تفريح و سرگرمي نيز سايت هاي خاصي وجود دارد. اگر به هنر و موسيقي علاقهمند هستيد سايت هاي مربوط به آنها در اينترنت فراوان است اگر ميخواهيد در دانشگاههاي دنيا تحصيل كنيد، اگر به تازه ترين مقالات رشتههاي خاصي علاقه داريد. ميتوانيد به سايت هاي معروف آنها مراجعه كنيد.
وب پويا و تفاوت آن با وب ايستا
در آغاز وب يك رسانه ايستا بود بصورت سيستمي طراحي شد كه براي مبادله مقالههاي تحقيقاتي به كار رفته است و شكل آن مثل يك كتاب الكترونيكي بود. سايت هاي وب وقتي كه ساخته شدند به مدت چندين ماه تغيير نميكردند. تازگي اطلاعات مبتني بر وب به همراه محيط توسعه اوليه منجر به استانداردهايي شد كه با اسناد دست نويس قابل مقايسه است.
با رشد وب به قوتهاي آن نيز پي برده شد بدين ترتيب وب ديگر از حالت يكنواخت و ايستا درآمد بطوريكه ظاهر و محتويات آن تغيير كرد. ايجاد سايت هاي پويا براي كساني كه از اينترنت استفاده ميكنند الزامي است در غير اينصورت سايت انها به عنوان يك شهر متروكه محسوب خواهد شد.
بعضي از ويژگيهاي پويايي كه مخاطبان اينترنت به آنها علاقه مند هستند عبارتند از:
حساسيست نسبت به زمان به جاي محتويات دائره المعارف
تغيير محتويات و سبك طراحي
سازگاري با نسل هاي جديد سخت افزار، نرمافزار و استانداردهاي تحويل اطلاعات
پشتيباني از ارتباط با مخاطبين سايت
مديريت موثر براي افزايش كيفيت اطلاعات
ساليانه هزاران وب سايت به دليل كهنه شدن از رده خارج ميشوند براي همين سايت هاي از دور خارج ميشوند هزينههاي زيادي مصرف شده است. در سال 1997 در حدود 1000 وب سايت از رده خارج شد و در سال 1998 تقريباً 2000 سايت وب از دور خارج شد و براي اينكه سايتهاي پويا جذاب باشند بايد ويژگيهاي زير را داشته باشند:
در هر بار مراجعه چيز جديدي براي ارائه كردن داشته باشد.
رابط ها و برنامهنويس، منعكس كننده گرايش هاي جديد در سبك نرمافزار باشند
پاسخ به تغييرات در ترافيك كارگزار و بيننده از طريق عدم نياز به كاربران با تجربه
عدم وجود گرافيكهاي نامفهوم و رابطهاي ناقص
كنترل شخصي و سفارشي سازي محتويات صفحات وب
فصل سوم
اصول طراحي صفحات وب
اصول طراحي صفحات وب
- مراحل طراحي صفحات وب
- روشهاي برنامهنويسي تحت وب
- سرويسهاي مورد نياز جهت راه اندازي يك سايت وب
- ساخت صفحات وب در ساير برنامهها
- ايجاد جذابيت در صفحات با استفاده از امكانات چند رسانهاي
مراحل طراحي صفحات وب
براساس تجربيات و مشاهده بدست آمده شايد بتوان مراحلي را براي طراحي صفحات وب مطرح كرد اين مراحل عبارتند از:
- توجه به مخاطب
- تعريف توابع و ساختارهاي موردنظر
- خلق يك طراحي تصويري
- تنظيم محتويات با توجه به عناصر تصويري
- طراحي، تست پوسته عملياتي
- تعيين محتويات صفحه
- تست و ارزيابي صفحه
- انتشار صفحه وب در اينترنت
توجه به مخاطب
صفحات وب طراحي ميشوند تا ديگران از آنها استفاده كنند، آيا مخاطبين خود را ميشناسيد؟ اين كار بسيار دشوار است زيرا ممكن است افرادي كه با كامپيوتر كار ميكنند به زودي عوض شوند.
بايد از سطح اطلاع، امكانات سختافزاري و نرمافزاري و تخصصهاي مخاطبين خود خبر داشته باشيد علاوه بر اين تواناييهاي خود را نيز مورد بررسي قرار دهيد.
براي اين منظور موارد زير را در نظر داشته باشيد:
مشخص كنيد كه براي ايجاد صفحه به چه مواردي نياز داريد
صفحه وب را توصيف كرده راه حلهايي را براي حل اين مسئله ارائه دهيد.
وضعيت مخاطب خود را روشن كنيد
ابزارهايي را كه براي طراحي صفحه وب در اختيار داريد مورد بررسي قرار دهيد
زمانبندي طراحي صفحه را مشخص كنيد
با مخاطب خود ارتباط برقرار كنيد و نظرات وي را جويا شويد
يك سايت بسيار عالي وقتي تعداد اندكي آن را ديده يا از آن استفاده كردهاند مفهومي ندارد و يا يك انيميشن زيبا وقتي روي صفحهاي قرار دارد كه مراجعه كننده نتواند آن را ببيند حتي ارزش طراحي را ندارد يك وب سايت بايد مراجعه كننده خود نوعي پاداش در نظر بگيرد.
يك سايت نابسامان با نوع خط و رنگ ناموزون تأثير منفي بر مراجعه كننده ميگذارد (طراحي و جذابيت نوعي پاداش براي مراجعه كننده محسوب ميشود) راهنمايي كردن مراجعه كننده يكي از مهمترين كارها در يك سايت است.
در بعضي سايت هاي بزرگ كه 24 ساعته در حال عرضه كالا يا اطلاعاتشان هستند ميبينيم كه راهنماييهاي لازم براي مراجعه كننده صورت نميگيرد و تمام تلاش گردانندگان سايت تقريباً به هدر ميرود، طراح وب بايد كاري كند كه مراجعه كننده پس از ترك سايت فكر دوباره آمدن به سايت را داشته باشد.
روشهاي برنامهنويسي تحت وب
زبان HTMLمهمترين زبان اشارهاي ميباشد كه بيشتر صفحات وب با اين زبان نوشته شده و يا از آن استفاده ميكنند برمبناي SGML كه يك استاندارد مديريت اطلاعات است ايجاد گشته است. اين استاندارد توسط سازمان بينالمللي استاندارد ISO در سال 1986 به قصد مهيا نمودن اسنادي كه اطلاعات قالببندي شده و داراي پيوند را مستقل از كاربرد و سكوي سختافزار ارائه نمايد، معرفي شد. HTML داراي برچسبهايي ميباشد كه اين برچسبها به سند اضافه ميشود و طريقه نمايش را از طريق مرورگر مشخص ميكنند HTML شامل موارد زير ميشود:
ساختار برنامه
برچسبهاي Text
تصاوير و صدا
جداول
پيوندها
نقشه
Frameها
فرمها و عناصر آنها مثل (Key,Editor,Radio button,check box,Input line,…..)
ميتوان برنامههاي HTML را در هر ويرايشگر متني مثل Edit در Dos و يا Notepad در Windowsبنويسيد و آنها را توسط مرورگرهايي چون Internetexplorer يا Netscape اجرا و مشاهده نماييد. البته HTML داراي Generatorهايي مانند Dreamweaver نيز ميباشد كه از طريق آنها ميتوان اين صفحات را ايجاد كرد.
DHTML
HTML پويا است كه امكان خلق صفحات وب تعاملي با قابليت هاي چندرسانهاي را ايجاد ميكند، براي خلق HTML پويا ميتوان از زبانهاي اسكريپتي مختلفي استفاده نمود كه با استفاده از قابليتهاي آنها ميتوان عناصر اعم از Tagها، تصاوير، اشياء، متون را تغيير داد. HTML پويا دست آورد نسبتاً جديدي در عرصه وب است.
برنامهنويسي به زبان جاوا
جاوا زبان برنامهنويسي است كه توسط شركت SunMicrosystem ارائه شده و شباهتهاي بسياري به زبان C++ دارد اين زبان برنامهنويسي را ميتوان درباره متنوعي از كاربردهاي وب و مهمتر از همه در كاربردهاي توزيع شده بكار گرفت. برنامههاي كوچك نوشته شده به زبان جاوا، كه اصطلاحاً Applet گفته ميشوند را ميتوان درون صفحات HTML قرار داد شركت SUN جهت عموميت دادن جاوا source كامپايلر آنها را بصورت رايگان در اختيار شركت هاي مختلف خصوصاً شركتهاي نويسنده مرورگر قرار داد اين باعث شد كه بسيار عموميت پيدا كند طوري كه به عنوان يك زبان برنامهنويسي باز معرفي شود. با استفاده از جاوا ميتوان توسط مرورگر بطور مستقيم به پايگاه دادهها دسترسي پيدا كرد.
Activex
برنامهنويسي ماژلار سالها برنامهنويسان را به خود مشغول داشته بود لذا محرك اصلي كه به توسعه سيستم عامل ويندوز منجر شده نيز كدهاي قابل اشتراك و قابل استفاده مجدد بود. Activex در سال 1996 به عنوان استراتژي اصلي مايكروسافت براي اشياء توزيع شده و وب ارائه شد.
برنامههاي Plug-Ins
سوپاپ برنامهنويسي تحت وب ميباشد يعني اگر هيچ روشي نتوانيم سيستم خود را تحت وب پياده كنيم در اين حالت بايد امكاني را به مرورگر اضافه كنيم كه برنامهها را اجرا كند. Plug-Ins برنامههايي هستند كه توسط شركتهاي مختلف نوشته ميشوند و اين امكان را به مرورگر ميدهد كه بتواند فايل هايي با پسوند خاص را كه در حالت عادي قادر به نمايش آنها نيست، نمايش دهد.
Asp
شركت مايكروسافت از طريق اين روش مهمترين ويژگي هاي روشهاي قبل را مثل دسترسي به بانكهاي اطلاعاتي، دسترسي به سيستم عامل، سرعت و امنيت بالا را مورد توجه قرار داده است در برنامهنويسي وب دو نوع اسكريپ داريم:
اسكريپ سمت سرويس دهنده (روي سرويس دهنده اجرا ميشوند)
اسكريپ سمت سرويس گيرنده (روي سرويس گيرنده اجرا ميشوند)
ASP محيطي مبني بر اسكريپ نويسي سمت سرويس دهنده ميباشد كه موجب ساخت برنامههاي پويا و محاورهاي ميشود. اين برنامهها زمان زيادي را براي پردازش تلف نميكنند. راجع به اين تكنولوژي در فصول بعد بيشتر توضيح داده خواهد شد.
سرويسهاي مورد نياز جهت راهاندازي يك سايت وب
مهمترين سرويسهاي مورد نياز جهت ايجاد يك سايت وب عبارتند از:
IIS
DNS
DHCP
RAS
IIS (Internet information Service)
اين سرويس جهت ايجاد سرويس دهنده وب ميباشد در Windows NT Option Pack نيز قرار داده شده در كل يك محيط برنامهنويسي و ارائه خدمات را براي نوشتن وب اينترنتي ارائه ميكند موارد زير به همراه HST ارائه شدهاند:
A. سرويس دهنده WWW
B. سرويس دهنده FTP
C. سرويس دهنده تراكنش (MTS)Microsoft
D. سرويس دهنده Microsoft SMTP
E. سرويس دهنده Microsoft MNTP
F. سرويس دهنده Microsoft NNTP
G. سرويس دهنده index Microsoft
H. سرويس دهنده Microsoft Certificate
I. Microsoft Server Express
DNS(Domain Name Service)
در اكثر شبكههاي بزرگ يك سرويس دهنده بنام Name server داريم كه وظيفه انجام عمليات Naming (يعني تبديل اسم به آدرس) را برعهده دارد.
DNS در يك شبكه TCP/IP وظيفه تبديل نامهاي اينترنتي مثل WWW.cnn.com به آدرسهاي IP مثل 107.2.31.150 را برعهده دارد بسته اطلاعاتي انتقالي جهت رسيدن به مقصد نياز به عدد IP دارد و از طريق نام حوزه، مسيريابي ممكن نيست با نسب DNS سيستم به سرويس دهنده نام حوزه تبديل خواهد شد.
DHCP(Dynamic Host configurate protocol)
طريقه نسب IP به كاربران به دو صورت ايستا، پويا انجامپذير است در حالت ايستا يك كاربر يك آدرس IP دارد كه مخصوص خود او ميباشد و بايد آنرا در سيستم خود نصب نمايد.
Control panel-àNetworkàTCP/IPà PropertiesàIP Address
با نصب DHCP امكان انتساب پوياي IP از سوي سرويس دهنده به سرويس گيرنده اضافه ميشود با اين كار ديگر كامپيوترهاي سرويس گيرنده به سادگي به شبكه متصل خواهند شد و سربار سرپرستي كاهش خواهد يافت. اگر نيازي به تغييري در شمارههاي IP وجود داشته باشد تنها DHCP تغيير ميكند و نيازي به تغيير در سرويس گيرندهها نيست با نصب DHCP سيستم به يك سرويس دهنده DHCP تبديل خواهد شد در نرمافزار DHCP Management در منوي Scope ميتوان محدوده IP كه بايد بصورت پويا به كاربران داده شود (طبق كلاس IP) را مشخص كرد.
RAS(Remote Access Service)
RAS يك سرويس ميباشد كه با نصب آن سيستم مربوطه به يك سرويس دهنده راه دور تبديل خواهد شد، و وظيفه آن مديريت و كنترل پورتها و مودمهاي متصل به آنها همچنين كاربران راه دوري است كه از طريق خط تلفن با سرويس دهنده ارتباط برقرار نمودهاند، ميباشد اين نرمافزار هنگامي بكار ميرود كه بخواهيم از طريق كارت Mutiport امكان دسترسي از راه دور را فراهم كنيم بعد از نصب RAS تمامي پورتها و مودمها تشخيص داده شده و مديريت ميشوند. در صورت تماس تلفني كاربر RAS خودش گوشي را برداشته و شناسه كاربر و رمز عبور را سؤال ميكند و ارتباط را برقرار ميكند.
ساخت صفحات وب در ساير برنامهها
صفحه وب در واقع يك سند (document) است سندي كه در قالب فايل HTML ذخيره ميشود اما به جز اين موارد با ساير اسنادي كه در برنامههاي توليد سندي چون واژه پردازها (Microsoft word, word, word perfect) نشر روميزي (Microsoft publisher adobe pagemarker) و برنامههاي نمايشي (Microsoft power point) ساخته ميشوند تفاوتي ندارند. چنانچه اين برنامهها توانايي ذخيره اسناد تحت قالب HTML را داشته باشند، آيا ابزارهاي كاملي براي ساخت وب محسوب ميشوند؟ پاسخ اين است در اكثر موارد اين برنامهها ميتوانند فايلهايي را به عنوان HTML ذخيره كنند بنابراين چنانچه اينگونه برنامهها را در اختيار داشته باشيد ميتوانيد:
پروندههاي موجود خود را اعم از شرح حال، داستانها، آگهيها، بروشورها و غيره را باز كنيد و تنها با چند كليك آنها را به فايلها HTML تبديل نماييد در اين صورت بدون نياز به تايپ مجدد آنها ميتوانيد پروندههاي خود را در Frontpage Experess ويرايش كنيد.
صفحات وب جديدي را در اين برنامهها خلق كنيد و از مزايا و امكانات آنها بهره بگيريد.
فايلها را بطور كامل در برنامه ديگري خلق و منتشر كنيد و هيچگاه آن را منتقل نكنيد.
ايجاد جذابيت در صفحات وب با استفاده از امكانات چندرسانهاي
اين بخش را با ارائه مسائل زير آغاز ميكنيم:
آمادهسازي تصاوير براي وب
افزودن تصاوير (و پسزمينههاي تصويري)
ارتقاي كيفيت صفحه با استفاده از صدا، تصوير و جلوههاي ويژه
تصاوير درون برنامهاي:
فايلهاي تصويري انواع گوناگوني دارند معمولترين آنها در كامپيوترهاي شخصي bmp.pcx ميباشند كه بيشتر در ويندوز مورد استفاده قرار ميگيرند و رايجترين آنها در مكانتاش فايلهاي TIFF هستند اما از فايلهاي نوع gif بيشتر از ساير انواع در مورد تصاوير درون برنامهاي استفاده ميشود رتبه دوم فايلهاي مورد استفاده تصاوير درون برنامهاي به فايلهاي نوع jpeg با پسوند jpg. اختصاص دارد.
ساختن و بدست آوردن فايلهاي تصويري:
تصاوير مورد نياز براي صفحه وب را از كجا ميتوان بدست آورد؟ پاسخ اين است كه شما ميتوانيد به روشهاي زير تصاوير دلخواه را بدست آوريد:
نقاشي / رسم: ميتوانيد از يك برنامه نقاشي يا رسم تصاوير براي خلق گرافيكهاي درون برنامهاي استفاده كنيد.
برقراري ارتباط با اينترنت
- انتشار صفحه وب
- مقدار فضاي مورد نياز
- ديدار صفحه خود از طريق اينترنت
- آزمايش و بهنگامسازي صفحه وب
تبديل:اگر تصاويري كه بايد در صفحه وب شما قرار گيرند موجود هستند اما قالبGif, JPEGرا ندارند با استفاده از برنامه نقاشي، يك برنامه كمكي آن را قالبهاي مورد نظر تبديل كنيد.
پويش: با بكارگيري يك پويشگر عكسها و تصاوير را پويش كنيد.
تصويربرداري:افرادي كه دوربين ديجيتال در اختيار دارند ميتوانند تصاوير يا فيلمهاي دلخواه را به صورت زنده تهيه نمايند.
استفاده از مجموعه تصاويري كه در وب موجود ميباشد و بستههاي نرمافزار تجاري وجود دارند نيز مجاز ميباشد.
«مجموعه تصاوير» يا مجموعه برشهاي هنري Clipart فايلهاي تصويري و گاه ساير فايلهاي رسانهاي مانند تصاوير متحرك animation يا برشهاي صوتي هستند كه كاربر خود آنها را خلق نكرده است بلكه بصورت آماده در اختيار او گذاشته شده است تا در ساخت صفحات وب يا ساير اسناد مورد استفاده قرار دهد اين مجموعهها بر روي وب به همراه برخي از بستههاي نرمافزاري عرضه ميشود شما ميتوانيد آنها را از طريق اينترنت يا خريد cd مربوطه از فروشگاههاي نرمافزار تهيه نماييد.
نكات مهم در خصوص تصاوير درون برنامهاي
به طور كلي، توصيه ميشود كه در حد امكان از فايلهاي GIF استفاده كنيد بدين طريق ميتوانيد مطمئن باشيد كه هر كاربر با استفاده از يك مرورگر گرافيكي ميتوانيد تصوير شما را مشاهده كند از نظر تئوري انتقال يك فايل تصويري 20KB از سرويس دهنده به مرورگر شخصي كاربر با سرعت اتصال اينترنت 28/8kbps كمتر از 10 ثانيه طول ميكشد اما عوامل بسياري بر اين انتقال تأثير ميگذارند اين عوامل عبارتند از: سرعت دستيابي ديسك سرويس دهنده، سرعت پردازنده و ميزان حافظه موجود در كامپيوتر شخصي مشتري كارآرايي نرمافزار مرورگر و سرعت چند وظيفهاي.
با وجود قاعده 1 ثانيه براي 2kb روش خوبي براي تخمين سرعتي است كه صفحه وب شما بر روي صفحه نمايش اكثر كاربرها ظاهر ميشود با توجه به اين محاسبه بررسي كنيد كه كاربران چه مدت را بايد انتظار مشاهده صفحه شما باشند اندازه فايل HTML خود و تمام تصاوير درون برنامهاي را در نظر بگيريد و به آن بيافزاييد حداكثر مقدار توصيه شده 30KB است اينگونه صفحه و تصاوير آن در حدود 15 ثانيه در كامپيوتر كاربر بار ميشوند اگر دريافتيد كه فايلهاي صفحه شما بسيار بزرگ است و در نتيجه سرعت دستيابي پايين است بهتر است كه تعداد آنها را كاهش دهيد در غير اينصورت با انجام روشهاي زير ميتوانيد صفحه خود را به صورتي فشردهتر ارائه دهيد:
تصاويري را بكار ببريد كه جاي كمتري را در صفحه اشغال ميكنند
تصاوير كوچكتر يعني فايلهاي كوچكتر
رنگهاي كمتري را مورد استفاده قرار دهيد.
صفحات وب متني را توليد كنيد (وقتي صفحه شما انباشته از تصاوير گرافيكي است توصيه ميشود كه نسخهاي از صفحه را بصورت فقط متني تهيه نماييد و سپس پيوندي را در صفحه قرار دهيد كه به آن نسخه اشاره كند در اين صورت كاربراني كه فاقد مرورگرهاي گرافيكي هستند يا تمايلي به ديدن تصاوير ندارند ميتوانند از اين نسخه استفاده كنند.
از رسانههاي [thumbnail] و خارجي استفاده نماييد اگر تصاوير شما بزرگ باشد بديهي است كه زمان دستيابي به آنها كاهش مييابد بنابراين در چنين مواردي چنانچه امكان بكارگيري تصاوير كوچكتر وجود ندارد توصيه ميشود از نسخههاي [thumbnail] آنها استفاده كنيد بدين مفهوم كه كاربر با كليك اين نسخهها به اندازه اصلي تصوير دست يابد.
افزودن تصاوير (و پسزمينههاي تصويري)
تصاوير در صفحات وب حكم نمك غذا را دارند مقدار كافي نمك، غذا را خوش طعم ميسازد اما اگر زياد شود نامطلوب ميگردد صفحات وب نيز چنين هستند اگر تصاويري كه در آن درج ميشوند به اندازه و دقيق انتخاب شده باشند جذابيت صفحه را براي كاربران افزايش ميدهند.
ارتقاء كيفيت صفحه با استفاده از صدا، تصوير و جلوههاي ويژه
سادهترين روش افزايش جذابيت صفحات وب اضافه كردن جلوههاي ويژه و امكانات چند رسانهاي ميباشد يكي از انواع چند رسانهايها كه كاملاً در محدوده تواناييهاي است تصاوير متحرك GIF ميباشد. صداي پسزمينه نيز يك برش صوتي است كه بطور خودكار در هنگامي كه كاربر به صفحه ميرود نواخته ميشود گونههاي مختلفي دارد از قالبهاي صوتي در محيط وب به كار ميرود اما براي كاربران ويندوز، سادهترين نوع، Wav ميباشد فايلهاي صوتي از اين نوع را خود مؤلف نيز ميتوان پديد آورد اين عمل با استفاده از كارت صداي كامپيوتر و يك ميكروفن انجامپذير است اكثر كارتهاي صدا برنامه ضبط صوت خود را ميباشند اما اگر كارت صداي شما اين امكان را ندارد ميتوانيد از ضبط صورت دروني ويندوز 98 استفاده كنيد براي ان منظور بايد
Start/program/Accessories/entertainment/Sound Recorder
را انتخاب نماييد و سپس شروع به ضبط صوت خود نماييد.
ساخت [Marquee] به سبك تايمز:
marquee بخش كوچكي از متن متحرك ميباشد كه درون صفحه وب به صورت چرخشي با رفت و برگشت حركت ميكند نام marquee سبك تايمز برگرفته از شكل ظاهري تابلوي اعلانات ساختمان نيويورك تايمز در مانهاتان ميباشد كه با حركت طوماري خود اين امكان را فراهم ميآورد كه مردم اخبار جديد را به طور پي در پي مشاهده نمايند marqueeها سريعترين راه براي افزودن بخش متحرك به يك صفحه وب ميباشند و معمولا براي متوني مورد استفاده قرار ميگيرند كه بايد بيشتر در معرض ديد باشند.
انتشار صفحه وب
بديهي است كه هدف از ساخت صفحه وب استفاده شخصي مؤلف نميباشد بلكه مقصود اين است كه بر روي سرويس دهنده وب و در معرض ديد افراد گوناگون قرار گيرد به گونهاي كه بتوانند از اطلاعات آن استفاده نمايند. Dream weaver كمك بزرگي براي انتشار است با تنظيم چند پيش فرض و سازماندهي صحيح فايلها خود در مييابيد كه توانايي انتشار صفحات وب با چند كليك سريع در اين محيط امكانپذير است.
درباره سرويس دهنده وب
همانگونه كه ميدانيد براي انتشار صفحه وب خود بر روي وب به فضايي از ديسك سخت سرويس دهنده وب نياز داريد. تقريبا كليه حسابهاي اينترنتي امروزي چه با تهيه كننده خدمات اينترنت معمولي و چه با يك سرويس دهنده پيوسته مانند VOL چند مگابايت از فضاي سرويس دهنده را در هنگام قرار داد به صفحات وبي اختصاص ميدهند كه كاربر احتمالا در آينده منتشر خواهد كرد اما چنانچه تهيه كننده فضايي براي انتشار صفحات وب شما منظور نكرده است روشهاي ديگري جهت برداشت فضاي سرويس دهنده وب وجود دارند كه به برخي اشاره ميشود.
در محل كار كارفرماي شما ممكن است سرويس دهنده وبي داشته باشد كه اجازه داشته باشيد صفحه وب خود را در آن ذخيره كنيد مسلماً اين امكان رايگان خواهد بود. يك سرويس ميزبان وب تعدا رو به رشدي از شركتهاي كامپيوتري online خدمات ميزباني فضاي وب را ارائه ميدهند بسياري از اين خدمات مربوط به تهيه كنندگان اينترنتي هستند كه براي كسب درآمد بيشتر فضاي سرويس دهنده را نيز اجازه ميدهد. ساخت سرويس دهنده شخصي – اگر صفحه وب شما نياز به امنيت بالايي دارد يا استفاده زيادي از پردازندههاي CGI ميبرد وجود يك سرويس دهنده وب شخصي چارهساز است ساختن سرويس دهنده وب شخصي راهحل عميقتري ميباشد و دسترسي وسيع به خطوط دادهاي با سرعت بالا ساخت چنين سرويس دهندههاي بسيار مقرون به صرفه است.
مقدار فضاي مورد نياز
همانطور كه گفته شد هر چه محتويات صفحه بيشتر باشد فايل آن بزرگتر خواهد بود در نتيجه ميزان فضاي مورد نياز وب را به شدت افزايش ميدهد و علاوه بر آن كاربران وب را در انتظار ميگذارد صدا و تصوير هم ممكن است بر افزايش فضاي لازم تأثير بسياري داشته باشد.
اكثر تهيه كنندگان اينترنت و سرويسهاي online حداقل 3مگا بايت فضاي آزاد براي هر مشتري در نطر ميگيرند اين فضا گاه تا 10 مگا بايت افزايش مييابد مقدار مذكور براي ذخيره 100 صفحه پايه و يك يا دو برش كوتاه ويديويي كافي است پيش از انتشار بايد فضاي سرويس دهنده خود را به دست آوريد و بهتر است كه نظري هم به صفحه نهايي بيندازيد تا از تناسب و صحت كليه بخشهاي آن اطمينان يابيد. آخرين كاري كه بايد پيش از انتشار انجام دهيد كسب برخي اطلاعات مهم از توليد كننده فضاي وب منتخب ميباشد موارد زير نكات و اطلاعات خاصي هستند كه دانستن آنها ضروري است:
آيا سرويس دهنده Dream weaver extensions دارد؟ همانطور كه ميدانيد فعاليتهاي جالبي كه توسط Dream weaver انجام ميگيرد تنها در صورتي به خوبي عمل ميكنند كه صفحه بر روي سرويس دهنده مجهز به اين نرمافزار منتشر شود.
نام پروتكل ارتباطي لازم براي upload فايلهاي شما تعداد زيادي از سرويس دهندهها اجازه ميدهند كه از پروتكل http براي ارسال فايلهاي خود استفاده كنيد در حالي كه عدهاي ميخواهند از طريق Ftp بفرستد.
آدرس كامل و مسير مكان ذخيره شدن فايلها: شما بايد URL كامل ليست راهنما كه فايلهاي شما در آنجا ذخيره خواهند شد بدانيد اين URL شامل نام سرويس دهنده مسير شاخه و نام آن ميباشد بهتر است كه شاخه مجزايي براي تمام فايلهاي خود داشته باشيد.
نام كاربري و كلمه عبور براي دسترسي به امكان ارسال فايلها به سرويس دهنده: تهيه كنندگان سرويس دهنده شما بايد نام كاربري و كلمه عبوري را به منظور ارسال فايلها به شما اختصاص دهد.
ديدار صفحه خود از طريق اينترنت
پس از انتشار، بايد صفحه خود را از طريق وب آزمايش كنيد و به عنوان يك كاربر بخشهاي مختلف آن را مورد بررسي قرار دهيد. براي مشاهده online صفحه خود مرورگر را باز ميكنيم و به اينترنت متصل ميشويم سپس به همان آدرسي كه براي انتشار صفحات خود تايپ كرديد برويد ظاهر آن را ملاحظه نماييد و تمام پيوندها را مشاهده نماييد. اشخاصي كه ميخواهند از وجود صفحه وب شما آگاه شوند به دو دسته تقسيم ميشوند اشخاصي كه ميشناسيد و گروهي كه با آنها آشنايي نداريد مؤثرترين شيوه اطلاعرساني به افرادي كه نميشناسيد اين است كه صفحه خود را در ليست سرويس دهندههاي مهم اصلي جستجوي اينترنت قرار دهيد آدرسهاي زير مربوط به مشهورترين اينگونه صفحات ميباشد:
Yahoo(WWW.yahoo.com)
(WWW.excite.com)Excite
(WWW.lycos.com)Lycos
(WWW.altavisa.com)Alta Visa
(WWW.googel.com)google
هنگامي كه صفحه شما به دسترسي در ليست صفحات جستجو يا ليست پيوندهاي صفحات مرتبط باشد هر گاه افراد مختلف مطالبي را در ارتباط با موضوع، عنوان، يا مواردي از كلمات كليدي صفحه شما جستجو كنند به صفحه خواهند رسيد در واقع برخي صفحات جستجو به خودي خود صفحه شما را پيدا خواهند كرد سرويسهايي مانند Alta vista و Excite برنامههايي را بكار ميبرند كه گاه عنكبوت Spiderيا crawler خزنده ناميده ميشوند اين برنامهها محيط وب را بطور مداوم و منظم پيدرپي جستجو ميكنند تا صفحات جديد را بيابند و به ليست صفحات خود بيفزايند اما با افزودن صفحات خود به اين صفحات و ساير صفحات جستجو شانس قرار گرفتن آنها در دستهبندي صحيح، افزايش مييابند كه اين خود باعث ميشود افراد بيشتري بتوانند به صفحه شما دسترسي بيابند و از مطالب آن بهره گيرند.
آزمايش و بهنگامسازي صفحه وب
ساخت يك صفحه وب و انتشار آن در وب در ابتدا كار دشواري به نظر ميرسيد اما با گذشت زمان و شكوفايي بيشتر استعدادها و توانمنديهاي مؤلف و كسب تجارت مفيدتر اين عمل به فعاليتي لذتبخش و سودمند مبدل گشته است اما مهم آن است كه پس از انتشار صفحه بهنگامسازي و ارتقاي كيفي آن با دقت انجام شود زيرا تنها در اين صورت است كه به مرور زمان از رونق آن كاسته نخواهد شد و حتي پيشرفت و توسعه نيز مييابد بهنگامسازي بايد به گونهاي باشد كه مؤلف از معتبر بودن صفحه اطمينان حاصل نمايد.
آزمايش صفحات:
در هنگام كار بر روي صفحه خود ظاهر آن را از طريق پيش نمايش در Internet Explorer بررسي نموديد و هماكنون نيز صفحه را بصورت online آزموديد آيا راضي هستيد و از ديد شما همه چيز به خوبي پيش رفته است؟
مسلماً اين طور نيست موارد كوچك بسياري وجود دارند كه تا به حال با آنها برخوردي نداشتهاند و يا به عبارتي به آنها توجه نكردهايد.
كدام مرورگر را بايد براي آزمايش صفحه در نظر گرفت؟ اكثر اشخاص در online وب را از طريق internet Explorer يا Netscape مرور ميكنند بنابراين بهتر است كه حداقل آخرين نسخه اين دو مرورگر را مورد بررسي قرار دهيد اما به خاطر داشته باشيد كه همه افراد امكان استفاده از آخرين نسخههاي مرورگرها را ندارند بنابراين صفحهاي كه در نسخه فعلي IE يا Navigator، خوب به نظر ميرسد ممكن است در هنگام مشاهده از طريق نسخههاي بيشتر مرورگرهاي ياد شده دچار مشكل شود.
به ياد داشته باشيد كه بسته Netscape Navigator كه به اختصار Navigator نيز خوانده ميشود معمولا علاوه بر ماهيت مرورگري خود حاوي برنامه پستي و ابزارهاي ديگر چون composer است.
درست است كه اكثر مرورگرها در حال نابودي هستند اما اگر تمايل داريد كه كليه كاربران صفحه شما را ببينند و بتوانند از آن بخوبي استفاده كنند بايد صفحه خود را با تمامي اين مرورگرها آزمايش كنيد و در صورت نياز تغييرات لازم را در صفحه اعمال كنيد. آنچه در خاتمه اهميت بسيار دارد آزمايش درستي عملكرد پيوندها در مرورگرهاي مختلف است زمانيكه پيوندهاي موجود بين فايلها، بين صفحات و به تصاوير و رسانههاي خارجي را معتبر شناخته ديگر نيازي نيست آنها دوباره بررسي كنيد هنگامي كه صفحه شما داراي پيوندي خارجي به صفحات وب اشخاص ديگر يا به هر فايل به جز آنهايي كه در سرويس دهنده كنترل ميكنيد ميباشد بايد اغلب اين پيوندها را بررسي كنيد زيرا فايلهايي كه به اين پيوندها اشاره ميكنند ممكن است تغيير يافته باشند به همين دليل توصيه ميشود به تمام پيوندهاي خارجي حداقل يك بار مراجعه كنيد.
بهنگام سازي صفحه:
تصور كنيم كه در روند آزمايش صفحه خود مواردي را يافتهايد كه نياز به تغيير يا بهنگامسازي دارد روش انجام كار چگونه است؟
بايد راكار را با ويرايش فايلهاي اصلي روي كامپيوتر شخصي خود در Dream Weaver با هر نرمافزار ويرايشگر وب انجام دهيد نميتوانيد نسخههايي از فايلها را كه روي سرويس دهنده قرار دارند ويرايش كنيد پس از اتمام تغييرات و بررسي نتايج بصورت Offlin در يكي از مرورگرهاي كامپيوتر شخصي خود مراحل انتشار را طي كنيد. ارزشيابي و بهنگامسازي صفحات كار دشواري است اما گام مهمي براي كسب اطمينان از اينكه صفحات چه كاري را بايست انجام دهند.
در اين پروژه ما از نرمافزار دلفي جهت ورود اطلاعات به داخل پايگاه داده كه بر روي Server وب سايت قرار دارد و بوسيله آن دانشآموزان كارنامه خود را از سايت دريافت خواهند كرد استفاده كردهايم. پايگاه داده اين سايت با نرمافزار SQL Server طراحي شده است. نرمافزار ورود اطلاعات به داخل پايگاه داده (2iws) از چندين فرم ورود اطلاعات تشكيل شده است كه نحوه كار آن در فصل سوم توضيح داده خواهد شد. در اينجا نحوه برقراري ارتباط با پايگاه داده مهم است.
فصل چهارم
معرفي نرم افزارهاي کاربردي
معرفي نرمافزار SQL Server:
ماكروسافت SQL Server يك راه حل كامل براي پايگاه داده و تجزيه و تحليل آن است. SQL Server يك جزء كليدي در پشتيباني E-Commerce و برنامههاي كاربردي انبارداري است و در عين حال، محيطهاي ديناميك در حال گسترش را نيز پشتيباني ميكند.
SQL Server يك RDBMS است كه از T-SQL براي فرستادن درخواستها از يك كامپيوتر مشتري به كامپيوتر SQL Server استفاده مينمايد. يك RDBMS حاوي پايگاه دادهها، موتور پايگاه داده و برنامههاي كاربردي لازم جهت براي مديريت دادهها و اجزاء RDBMS ميباشد. RDBMS دادهها را بصورت رديفها و ستونها در پايگاه داده سازماندهي ميكند. RDBMS متضمن ساختار پايگاه داده و همچنين كارهاي زير است.
حفظ و نگهداري رابطه ها بين دادههاي موجود در پايگاه داده.
تضمين اينكه دادهها بطور صحيح ذخيره ميشوند و عدم نقص قوانيني كه رابطه بين دادهها را تعريف ميكند.
در صورت خرابي سيستم، بازيابي دادهها تا نقطهاي كه سازگاري دادهها حفظ شود.
اجزاء پايگاه داده SQL Server شامل زبان پس و جوي ساخت يافته (Qyery Language)، پايگاه داده رابطهاي (كه با XML انجام شده است تا برنامههاي اينترنتي را پشتيباني كند) ميباشد. SQL Server براساس ساختار و پايه SQL Server7 ساخته شده است. SQL Server داراي ويژگيهايي ميباشد از جمله سهولت نصب، عرضه و استفاده، مقياسپذيري، انبارداري دادهها و يكپارچگي سيستمي با ساير نرمافزارها سروري.
پايگاه دادهها
پايگاه دادهها شبيه به فايل دادههاست از آن جهت كه مكاني براي ذخيره دادههاست همانند اكثر فايلهاي دادهاي، پايگاه داده، دادهها را بطور مستقيم براي كاربر نمايش نميدهد، در عوض، كاربر يك برنامه كاربردي را اجرا ميكند تا به دادههاي پايگاه داده دسترسي پيدا كرده و آن را به فرمت قابل فهم براي كاربر نمايش دهد. در پروژه حاضر نرمافزار ورود اطلاعات (2iws) اين كار را انجام ميدهد.
SQL
براي كار با دادههاي موجود در پايگاه دادهها، بايد از مجموعه دستورات و عبارتهايي (يك زبان) استفاده كنيد كه نرمافزار مديريت پايگاه داده (DBMS) آنها را پشتيباني كند. ميتوانيد در پايگاه دادههاي رابطهاي از چندين زبان مختلف استفاده كنيد، معمولترين آنها SQL است. SQL Server استاندارد SAL كه توسط SNSI و ISO در سال 1992 منتشر شد را پشتيباني ميكند. SQLي كه توسط SQL Server پشتيباني ميشود Transact-SQL ناميده ميشود و Transact-SQL زبان پايه است كه توسط برنامههاي كاربردي SQL Server استفاده ميشود.
اجزاء پايگاه داده SQL Server
پايگاه داده SQL Server از مجموعه جداول تشكيل شده است كه مجموعه خاصي از دادههاي ساخت يافته را ذخيره ميكنند. يك جدول (entity) حاوي مجموعهاي از رديفها (tuples) و ستونها (صفتها) ميباشد. هر ستون در جدول طراحي شده است تا نوع خاصي از اطلاعات را ذخيره كند. جداول چندين كنترل (محدوديتها، قوانين، تريگرها، پيشفرضها و انواع دادهاي تعريف شده توسط كاربر) دارند كه معتبر بودن دادهها را تضمين ميكند. جداول ميتوانند داراي انديس باشند كه باعث ميشوند رديفها به سرعت پيدا شوند.
براي مثال، پايگاه داده SAHED را ايجاد كرديم تا دادههاي موجود در وب سايت را مديريت كنيم. جدولي به نام Student ايجاد كرديم تا اطلاعات مربوط به هر دانشآموز را ذخيره كنيم و جداول حاوي ستونهاي با نام st-code، st-name و sf-family براي اطمينان از اينكه هيچ دو كارمندي اطلاعات يكسان ندارند رديف هم قرار داديم.
خلاصهاي از ASP
روشي براي نوشتن صفحات وب ميباشد كه روش استفاده از آن به طرق مختلف ميباشد براي نوشتن كدهاي آن ميتوان از Notpad، Interdev، … استفاده كرد و اجراي آن در internet Explorer است اكنون توضيحاتي را در اين باره بيان ميكنيم براي استفاده از ASP بايد IIS و يا PWS را بر روي ويندوز خود نصب كنيد كه IIS در component خود ويندوز 2000 و xp موجود است ولي براي ويندوز 98 يا ME بايد PWS را نصب كرد.
كدهاي ASP را بين <%%> قرار ميدهيم البته ممكن است اين تنها روش نباشد شما با tagهاي </script>…<Script> آشنايي داريد كه ميتوان از آنها استفاده كرد.
البته بايد دانست كه در tag HTMLها را ميتوان تو در تو استفاده كرد ولي در ASP از در هم نوشتن tagهاي بايد خودداري كرد.
ولي ميتوان از tagهاي ASP داخل tagهاي HTML استفاده كرد. ASP، tagهاي مختلفي دارد از جمله </B>…<B> براي bold كردن جملات است و …
براي فرستادن داده به صورت HTML سه راه وجود دارد كه عبارتند از:
به راحتي اطلاعات را در داخل بلوك ASP قرار دهيد.
استفاده از Response Write است.
استفاده از ميانبر است كه به صورت <%= نوشته ميشود. يعني اين دو خط هيچ فرقي با هم ندارند.
The current time is <%=time 0%>
The current time is <%Response.write time/>
%>
نصب IIS: ابتدا در قسمت Control panel رفته و سپس از آنجا Add-Remove programs و سپس Windows Component و V كه جلوي internet information serveices است را ميزنيم و سپس CD ويندوزمان را ميگذاريم تا نصب شده باشد و بعد از اين كار بايد در درايوي كه ويندوز نصب شده شاخهاي به نام inetpub نصب شده باشد كه در آن چندين folder به همراه wwwroot موجود ميباشد كه تمام فايلهاي ASP خود را بايد در آن قرار داد.
متغييرها: بخش كوچكي از حافظه را اشغال ميكند و مقاديري را به خود اختصاص ميدهد كه داراي انواعي ميباشد.
انواع دادهاي يا datetypes
Integer: يك عدد صحيح ميباشد دو نوع داده با integer مرتبط هستند byte و long ميباشند.
Long: اعداد بزرگتر از integer را ذخيره ميكند و byte كوچكتر از آن را ذخيره ميكند.
اعداد اعشاري يا Floating_Point Numbers: اعدادي decimal ميباشند نوع دادهاي single و double از نوع متغيير شناور ميباشند براي Double نسبت به single دو برابر حافظه نياز است و دقت بيشتري دارد.
string (رشته): رشته ميتواند مجموعهاي از حروف و يا كاراكترها باشد كه در كنار يكديگر قرار ميگيرند و بين ” ” قرار ميگيرند.
Data (اطلاعات): يك ويژگي مهمي كه زبانهاي ديگر ندارند مديريت اطلاعات است اگرچه ميتوان دادهها را به صورت رشته يا عدد نمايش داد ولي استفاده از متغيير كارها را سادهتر ميكند متغيير دادههاي ميتواند زمان يا تاريخ و اطلاعات متنوع تاريخ VB و عملكردهايي كه فرمت مربوط به تاريخ را چاپ مينمايد نگهداري كند.
Boolean: يك متغيير از نوع Boolean مقادير درست يا غلط را در خود نگه ميدارد.
نوع داده Currency: يك عدد دقيق كه تنها براي ذخيره مقدار پولي كار خواهد كرد.
Object: اين قسمت به اشياء مخصوص اشاره دارد كه در كار كردن با پايگاه دادهها استفاده ميشود. نيازي نيست كه بيان كنيد متغيير از چه نوعي است فقط مينويسيم نام متغيير Dim و براي مقدار دادن به آن كافي است بنويسيم كوچك و بزرگ نوشتن حروف هم بر اين فرقي ندارد. مقدار = نام متغيير
Conatants (ثابتها): برعكس متغييرها ميباشند يعني مقداري كه به آن داده ميشود ديگر قابل تغيير نيست و به صورت زير تعريف ميشود. مقدار ثابت = نام ثابت Const
Array (آرايه): يك متغيير آرايهاي مجموعهاي از متغييرها است كه يك نام دارند ولي با index مشخص ميشوند حد پايين آرايه 0 است مقدار دهي آرايه مانند متغيير است.
Array(0)=”1”,array(1)=”2”
(حد آرايه) نام آرايه Dim
دو تابع براي اينكه نام متغيير را تشخيص دهيد وجود دارد كه يكي از آنها (نام متغيير) Varupe است. اين تابع كدي بر ميگرداند كه آن كدها معادل يك نوع دادهاي ميباشد.
تابع دوم تابعي به نام type name است كه يك رشته بر ميگرداند كه معادل نام نوع دادههاي ميباشد و به صورت زير نوشته ميشود.
انواع عملگرها
عملگر انتساب: همان عملگر = ميباشد كه معمولا براي مقدار دهي متغييرها استفاده ميشود.
مثلا:
<%Dim ivar, ioldvar
Lvar=3
Ioldrar=ivar, ioldvar=3
Ivar=5 ivar=5
%>
عملگرهاي رياضي: همان عملگرهاي ضرب، تقسيم، منفي و توان ميباشند كه مثالهايي را از آن بيان ميكنيم.
Sum (جمع)
<%Dim isum
Isum=3+5
%>
subtraction (تفريق):
<%dim icoumt
icount=3
icount=icount+1
جواب نهايي بايد 2 باشد icount=icont-2
Multipepeation (ضرب):
اين عملگرها با *نشان داده ميشود. اين عملگر هم مانند همان عمل به ضرب در رياضيات عمل ميكند ولي تنها تفاوت اين است كه بايد الويت عملگرها را رعايت كرد. مثلا در () بايد دانست كه اول حق با كدام عملگر است كه جدول حق تقدم الويتها وجود دارد.
Integer division (خارج قسمت)
اين عملگر با (/) نشان داده ميشود 5/3 Returns 1
اگر عددي اعشاري شد بايد آن را به نزديكترين عدد integer گرد كرد.
Modulus (باقيمانده)
هنگامي كه دو عدد بر يكديگر تقسيم ميشوند مقدار باقيمانده آنها را با mod نشان ميدهند به عنوان مثال:
5 mod Returns 2
Exponentition (توان)
عملگر توان را به صورت (^) نشان ميدهند به عنوان مثال
3^3=3*3*3=27
توان از چپ به راست اجرا ميشود يعني در 2^
^2 سپس پاسخ به توان 2 ميرسد.
Negation (عملگر نقيض)
عملگري است كه اعداد مثبت را به منفي و برعكس تبديل ميكند فعل اين است كه () ضرب ميشود.
Concatation (عملگر الحاق)
اين عملگر عملگري است كه بين دو رشته عمل ميكند. دو رشته را به يكديگر وصل ميكند تا به يك رشته تبديل شوند اين عملگر يا با (+) و يا با (&) نشان داده ميشود. براي مثال:
“Hello” &” “Name is jak
عملگرهاي مقايسه Comparision Operators
(=>) جدول عملگرهاي مقايسهاي براي مقايسه رشتهها هم استفاده ميشوند كه حروف الفبا براي آنها ملاك است.
بين دو آرگومان انجام ميشود و خروجي آنها True يا False است كه عبارتند از مساوي (=)، مخالف (<)، كوچكتر (>)، بزرگتر از حد (>)، كوچكتر مساوي(<=) و بزرگتر يا مساوي با آن
عملگرهاي منطقي logical Operators
اين عملگرها عبارتند از exctueive of(XOR)، eQuiralence(EQV)، (IMP)implication
And,orوNOT يك مقدار boolen برميگردانند. عملگرهاي منطقي را با عملگرهاي مقايسهاي ميتوان با هم بكار برد.
انواع كنترلها
كنترلهاي منطق شرطي
منطق شرطي با يك سري از شروط را امتحان ميكند و در پايه نتيجه آن كدي كه بايد اجرا گردد انتخاب ميكند.
جملات IF…Then
IF…Then statements: يكي از معمولترين ساختارهاي كنترلي است كه به صورت Condition then code block IF… كه شرط آن يك عبارت Boolean ميباشد كه اگر True باشد دستورات بعد از Then اجرا ميشود والا دستورات بعد از End if را اجرا ميكند.
IF… Then… alse Stadements
در اين روش اگر شرط IF برقرار بود كه دستورات بعد از Then والا كه دستورات بعد از else اجرا شوند در شروط از دستورات منطقي استفاده كرد.
Elself Statement
اين روش ساختار IFهاي تو دذتو را راحتتر ميكند.
همچنين Else IF نيازي به Else IF ندارد.
If conditionl Then
Code block 1
Cocde block 2…
انتخاب عبارتهاي Case يا Select case stalemens
از اين دستور هم ميتوان زماني كه Ifهاي زيادي را در برنامه استفاده ميكنيد به كار ببريد و Syntax آن به صورت زير ميباشد.
Seleat case expression
Case valvel
Code for when expression equals value 1
Case value 2
Code for when expression equals value 2
Case value n
كنترلهاي حلقوي
منطق حلقه يك بلوك از كدها را بصورت تكراري اجرا ميكند تا وقتي كه شرطي معين رخ دهد يا شرطي معيني درست باشد.
Code for when expression equals value n
عبارت Do…loop
يكي از دو شكل را ميتواند داشته باشد شكل اول Do while… loop يك بلوك از كد را تا هنگامي كه شرط معيني درست باشد اجرا ميكند نوع دوم Do while… loop يك بلوك از كد را تا وقتي كه به يك شرط معين برسد اجرا ميكند.
عبارتهاي Do while.. .loop
Do while xondition
Syntax آن به صورت روبرو ميباشد
Code block
كد بلوك تا زماني كه شرط درست است اجرا ميگردد، اگر شرط False باشد براي بار اول عبارت do loop اجرا ميگردد اما حلقه هيچگاه اجرا نميشود.
ساختار حلقه ميتواند به صورت ديگري هم بيان شود.
Do
Code Block
Loop while condition
تنها فرق اين دو شكل در اين است كه در اين شكل از حلقه كدهاي داخل حلقه هميشه يكبار اجرا خواهد شد يعني اينكه در روش دوم حتي اگر شرط اشتباه باشد كد داخل بلوك يكبار اجرا شده است.
عبارتهاي Do while… loop
بسيار شبيه Do while… loop است تنها فرق آن در اين است كه در اين دستور تا زماني كه شرط True شد ديگر از حلقه خارج ميشود.
عبارتهاي While.. Wend
همانند Do while… loop است به جاي Do while دستور While و به جاي Loop، Wend آورده شده است.
عبارتهاي For… next
اين حلقه بلوك كد را به تعداد دفعات معيني اجرا ميكند.
For counter_varable start value For each strnamto stop
Value
Code block
Variable_Couter يك متغيير است به عنوان شمارنده كد Next هر دفعه يكي به آن اضافه ميشود. زماني كه از Stop_value بزرگتر شود از حلقه خارج ميشود.
عبارتهاي For each..Next
براي تكرار كردن هر عنصر در يك گروه مورد استفاده قرار ميگيرند فرض كنيد يك ارايه از اسامي كارمندان داريد و ميخواهيد نام هر كدام را روي صفحه نمايش دهيد و چاپ كنيد.
For icounter=0to array size
Response. Write (arrusernam (icounter))
Next
يا
For each stename in arrusername
Response. Write (strname)
Next
Intinite Loops (حلقههاي متناهي)
يكي از راهها اين است كه شرط حلقه را صفر زياد اشتباه بگيريم به عنوان مثال
Do while 1>0 or Do while 1<>0
Loop loop
Nesting toops (حلقههاي تو در تو)
مثلا براي جدول ضرب
For 1=1 to 10
For J=1 to 10
Next
Next
كنترلهاي منطق انشعابي
دو نوع كنترل انشعابي وجود دارد. Subroutines, Functions
Subroytines كار انجام ميدهند و توابع مقادير را محاسبه ميكنند. Subroutine همان Procedure است.
Subroutine نام Sub
Code block
End sub
ارسال آرگومان
يك آرگومان روشي براي ارسال داده و متغييرها به Subroutine يا تابع بدون مقدار است. مقادير براي آرگومانها وقتي كه Subroutine (تابع) فراخواني ميشود تعيين ميگردد.
استفاده از توابع
توابع مقادير را مود پردازش قرار ميدهند. شايد در ابتدا تفاوت توابع با Subroutine را متوجه نشويد. Subroutine با هيچ مقداري مساوي نميباشد تنها راهي كه شما ميتوانيد يك Subroutine را فراخواني كنيد به كار بردن نام آن در يك خط است در عوض توابع مقادير را برميگردانند به اين معني كه فراخواني تابع را ميتوانيم در داخل يك عبارت محاسباتي انجام دهيم تا چيزهايي را با يكديگر جمع نمايد و … براي ايجاد تابع به جاي function و به جاي End Sub, End Function ميگذاريم و در آخر اينكه مقدار بازگشتي تابع را مساوي با نام تابع قرار دهيد Function_name=some_value
اگر شما نميخواهيد از مقدار بازگشتي تابع استفاده كنيد و نياز به فراخواني آن داريد ميتوانيد از Call function_name (argumenrs) استفاده كنيد.
استفاده از توابع پيش ساخته شده در VBScript
Typy costiong
بع عمل تبديل نوع داده ميگويند به اين طريق ميتوان رشته ”455” را به عدد 455 تبديل كنيد و عكس اين عمل نيز قابل انجام است.
Cint اين تابع يك عبارت را تبديل به يك عدد integer ميكند.
(Clng (expression: مقدار عبارت را به عدد Integer تبديل ميكند.
Cbyte(expression): مقدار عبارت را به عدد Byte تبديل مي:ند.
CSng(expression): مقدار عبارت را به عدد Single تبديل ميكند.
Cbool(expression): مقدار عبارت را به عدد Boolean تبديل ميكند. اگر عبارت صفر باشد نتيجه False والا Trueاست.
Ccur(expression): مقدار عبارت را به عدد Curreney تبديل ميكند.
Cdate (expression): مقدار عبارت را به يك مقدار با فرمت تاريخ تبديل ميكند.
البته expression بايد حتما به گونهاي باشد كه قابل تبديل هم باشند. مثلا براي cdate عبارت را نبايد حرف باشد و به صورت 4_5_98 باشد و …
توابع كار با رشتهها
Ucase (string): يك رشته را با حروف كوچك گرفته و به حروف بزرگ برميگرداند.
Hcase (string): يك رشته را با حروف بزرگ گرفته و به حروف كوچك برميگرداند.
Ltrim(string): تمام فضاهاي خالي موجود در رشته را از سمت چپ رشته حذف ميكند.
Rtrim(string): تمام فضاهاي خالي موجود در رشته را از سمت راست رشته حذف ميكند.
Ttim(string): تمام فضاهاي خالي موجود در رشته را از دو طرف رشته حذف ميكند.
StrReverse(string): يك رشته را گرفته و معكوس آن را برميگرداند.
Strcump (String1, String2, Comparetype): دو رشته با هم مقايسه ميشوند اگر مقدار آرگومان Comparetype صفر باشد در اين حالت حروف بزرگ قبل از حروف كوچك قرار ميگيرند اين تابع يك مقايسهگر دودويي است.
اگر Comparetype يك باشد در اين صورت حروف بزرگ و كوچك در مقايسه اثري ندارند و يك مقايسهگر متني است در اين حالت اگر String2>String1 مقدار منفي يك و اگر با هم برابر باشند صفر و اگر String2>srting1 باشد مقدار يك برميگرداند.
(String, number) Rightبه تعداد آرگومان number از سمت راست رشته كاراكتر جدا كرده و برميگرداند.
(srting, number) Left: به تعداد آرگومان number از سمت چپ رشته كاراكتر جدا كرده و برميگرداند.
(String, stat, lergth) Mid: اين تابع به تعداد كاراكترهاي مشخص شده توسط آرگومان lerght باشد و از نقطهاي از رشته كه به وسيله آرگومان Start مشخص شده كاراكترها را برميگرداند.
MideB(String, start, lergth): مانند mid است با اين تفاوت كه در اينجا آرگومانهاي start و lerght به جاي تعداد كاراكترها تعداد بايتهاي مشخص شده را برميگرداند.
(Start, string1,string2, comparetype) بررسي ميكند آيا string2 در داخل string1 وجود دارد يا نه. آرگومان Starts اختياري است كه مشخص ميكند از كجاي String1 جستجو شروع شود و Comparetype اگر يك باشد مقايسه متني و اگر صفر باشد باينري است.
(string1, String2, Start, comparetype)InstrRevمانند instr است. اين تابع به دنبال يك رشته از سمت راست تا سمت چپ رشته ديگر را مورد جستجو قرار ميدهد.
Replale (string, find, replae, start) از اين تابع براي جايگزيني رشته find به جاي رشته (replace, count, comparetype) در داخل رشته string استفاده ميشود.
اين تابع به دنبال آرايهاي از رشتهها، arrstring ميگردد و يك زيرمجموعه از آرايهها را برميگرداند آرگومان include مقداري از نوع boolean ميباشد و comparetype هم همانند قبل كار ميكند (comparetype, expression, delimiter, count,)Split اين تابع يك رشته را گرفته و آن را در داخل يك آرايه از رشتهها خرد ميكند.
تابع (string)ASC كه اولين كاراكتر رشته را برميگرداند.
تابع (number)Chr كاراكتر مطابق با كد را برميگرداند.
(interral,number, date) Date Add به مقدار مشخص شده در آرگومان () فاصله زماني را به تاريخ اضافه ميكند آرگومان interval كدي است كه در جدول نمايش دهنده روزها و هفتهها و ماهها و سالها و … بدست ميآيد.
Value Meaning
“yyy” year
“p” queter
“m” month
“d” day
“w” Weekday(same as Day)
“WW” Week of year (Week)
“h” hour
“n” minute
“s” Second
Dateserial (year, Month, day) مقادير تاريخي تغييرناپذيري را ايجاد مينمايد.
Date part (code, date) بخش مربوط به اطلاعات تاريخ را از آرگومان date بازيابي مينمايد.
Lbound (array) كوچكترين انديس معتبر يك آرايه را برميگرداند.
Ubound (array) بزرگترين انديس معتبر براي يك آرايه را برميگرداند.
البته توابعي ديگر در VBscript موجود ميباشد كه ما به همين مقدار اكتفا ميكنيم هدف ما اين بود كه مختصري با اصول و Base كار RBscript آشنا شويد.
اكنون به ادامه بحث ASP ميپردازيم و شما را به محيط كاري آن و توابع آن تا حدودي آشنا ميكنيم.
ساختن بلاكهايي از آبجكتها
همانند ماشينتان آبجكتهاي برنامهنويسي از چيزهاي تشكيل شدهاند كه آبجكتها توصيف ميكنند و چيزهايي كه آبجكتها ميتوانند با آنها كارهايي را انجام دهند، چيزهايي كه آبجكتها را توصيف ميكنند Properties ناميده ميشوند و چيزهايي كه ميتوانند با يك آبجكت انجام دهيد Merhod ناميده ميشوند.
Properties (خصوصيات)
در برنامهنويسي خصوصيات همانند متغييرها كار ميكنند ميتوانيد به خصوصيات يك آبجكت به روش زير دسترسي داشته باشيد.
Object variablename.property
به عنوان مثال
<% objlesson.name=”joe” %>
METHODS (متدها)
Object variable name. Methodrome
متدها عبارت است كارهايي كه ميتوانيد با يك آبجكت انجام دهيد.
بيشتر متدها رفتاري مشابه به توابع و Subroutines دارند اگر يك متد به نام GO را در آبجكتي به نام Objlesson فراخواني نماييد و آن يك مقدار را برگرداند ميتوانيد مقدار را در يك متغيير مانند ذخيره نماييد.
Myrariable=objleesson.GO
و براي نوشتن نتيجه روي مرورگرتان ميتوانيد بنويسيد:
Response. Write (objlesson.GO)
آبجكتهاي از پيش ساخته شده ASP
آبجكت Response
براي فرستادن مقدار به خروجي است.
آبجكت Application
به منظور اشتراك اطلاعات بين چندين سرويس گيرنده از يك صفحه بازديد مينمايند مورد استفاده قرار ميگيرند.
آبجكت Request
براي گرفتن اطلاعات از Client است وقتي مرورگر وب سرويس گيرنده تقاضاي يك صفحه ويژه را مينمايد اين آبجكت حجم از اطلاعات را براي سرويس دهنده ارسال ميكند.
آبجكت Sesaion
يك Session به دسترسي يك سرويس گيرنده به يك Application اشاره دارد. براي حمل اطلاعات مفيد است و مثل يك سرويس گيرنده بين صفحات حركت ميكند زيرا متغييرهاي آبجكت Session براي تمام Session ثابت ميماند يك صفحه ميتواند دادهها را در داخل متغيير Session ذخيره نمايد و آن داده ميتواند به وسيله صفحات ديگر مورد دسترسي قرار بگيرند.
آبجكت Serer مهمترين متد آن Create object است كه براي ايجاد يك نمونه از اجزاء Server است. Create object در ارتباط با مجموعه عباراتي مثل زير مورد استفاده قرار ميگيرد.
<% set objectance=server. Create object (“calss_component”)
آبجكت Object context:
به منظور اتصال ASP و Microsoft transaction server است MST به منظور ساختن سايتهاي وب اندازه نيز مورد استفاده است.
آبجكت ASPErroe:
اين آبجكت به شما اين اجازه را ميدهد تا در مورد خطاهاي اسكريپ ايجاد شده در صفحههايتان اطلاعاتي به دست آوريد براي اطلاعات بيشتر ميتوانيد به سايت مراجعه كنيد.
WWW.msdn.microsoft
كار كردن با آبجكتها
يك آبجكت به نام Car ايجاد شده است كه 3 خصوصيت دارد و هيچ پارامتري ندارد. 3 خصوصيات عبارتند از Head lightson, currentspeed, color. كلمه كليدي Public تعيين ميكند كه تمامي اين 3 خصوصيت خارج از Class هم ميتوانند استفاده شوند.
<%
Class car
Public color
Public currenspeed
Public currentspeed
Public Headlightson
End class
%>
در ASP براي ايجاد يك نمونه از يك آبجكت نياز به دو مرحله پردازش دارد.
1.يك متغيير به صورت طبيعي تعريف ميشود.
2.از Set براي ساختن متغييرتان به عنوان يك متغيير Object استفاده كنيد.
Set variable name=object expression
Objectxp نام يك object است و variable name نمونهاي ديگر از همان آبجكت است كه ما ميخواهيم يك Mycar از نوع car ايجاد كنيم.
Dim object car
Set objmycar=New car
و خصوصيات آن را هم تنظيم ميكنيم.
Objmycar.color=”blue”
اگر ميخواهيد در رابطه با Class در RBscript اطلاعات بيشتري به دست آوريد به آدرس وب زير سري بزنيد.
WWW.ugugsformrolla.com
Events
Eventها چيزي هستند كه يك آبجكت به كمك آن به كاربر اجازه ميدهند كه از مسائل مهمي كه اتفاق ميافتد با خبر شود وقتي كه يك رويداد رخ ميدهد كدهاي ويژهاي به نام handler even اجرا ميگردد به عنوان مثال با كمك رويداد ”Engin over heating” ماشين فعاليتهايي را به منظور خنك كردن موتور انجام ميدهد.
دو مورد ازeventهاي معمولي عبارتند از Initialize, Terminate كه Initializeيك رويداد توليد شده ميباشد (وقتي كه يك نمونه از آبجكت ساخته ميشود) و Teminate يك رويداد توليد شده ميباشد (وقتي كه يك نمونه از Object از بين ميرود).
مجموعه (Collection)
يك مجموعه عبارت است از يك سري از جفتهاي نام / مقدار يك مقدار ويژه ممكن است به صورت زير مورد دسترسي قرار گيرد.
Object name. Collection name (Name)
با تمام مقادير جفتها به وسيله For each … Next به دست ميآيد.
تشريح آبجكت Response
ارسال HTML به مرورگر
اولين روش استفاده از متد write است:
Respose. Write
از اين روش براي نوشتن روي مرورگر استفاده ميشود و به صورت زير نوشته ميشود.
Respanse. Write expression
يا
Response Write (expression)
كه خود اين نوشته بايد در <% %> tag باشد.
همانطور كه قبلتر هم گفتيم ميتوان به جاي Response Write از <%= استفاده كرد.
Response. Buffer
خروجي ميتواند به دو شكل ارسال شود شيوه بافر شده و بافر نشده.
خروجي بافر نشده فورا ارسال ميشود ولي خروجي بافر شده تا زماني كه اسكريبت تمام نشده يا تا زماني كه يك دستور خاص دريافت نشده است ارسال نميشود. در HS عمل بافر كردن به صورت پيش فرض موجود است. براي تنظيم كردن عمل بافر كردن بايد عبارت Response.buffer=True Response.buffer يا Response buffer=false را در بالاي صفحه بعد از Oprion explicit قرار دهيد.
Response.clear
فرض كنيد بافرينگ را فعال كردهايد. هنگامي كه اسكريپت اجرا ميشود خروجي به بافر فرستاده ميشود. فراخواني Response.clear باعث پاك شدن محتويات بافر ميشود.
Response.Flush
مانند Response.End اجراي يك اسكريپ را خاتمه ميدهد. اگر بافرينگ فعال باشد و اطلاعاتي در آن بافر آنها ارسال ميگردند تمامي عبارات بعد از Response.End ارسال نميشوند.
فرستادن كاربر به صفحه ديگر
احتمالا با صفحات وب روبرو شدهايد كه بر روي صفحه نمايش فقط براي چندين ثانيه نمايش داده ميشوند و ناگهان شما را به صفحهاي ديگر ميبرند اين كار با استفاده از چندين راه امكانپذير است.
يكي از اين راهها METN tag است.
<METAHTTP EQUIV REFRESH con TENT “2.URL
WWW.Maemi\un\WM
اين tag باعث ميشود كه مرورگر بعد از دو ثانيه به صفحه Maemollun.com برود.
راه دوم استفاده از آبجكت window است مثال:
window.Location=macmillum:HTML
Response.Redirect
كاربر را به صفحهاي كه URL مشخص ميكند ميبردURLResponse.Redirect آدرس بايد با http:… باشد.
Cashing صفحه ASP
Cash فضاي بخصوصي روي كامپيوتر است كه مرورگر وب صفحات را براي دسترسي سريع در آنجا ذخيره ميكنند.
Response.Expries=Number
براي تعيين مدت بودن يك صفحه در داخل كاشه مورد استفاده قرار ميگيرد.
Response.Expries Absolute
Response.Expries Absolute=Date Time به مرورگر ميگويند كه نسخه Cash شده صفحه بايد در تاريخي كه آرگومان Date و زماني كه آرگومان time نشان ميدهد دوباره از Server دريافت شود.
ارتباط كاربر
شما ميتوانيد فرمهاي خود را كه قرار است با كدهاي ASP تكميل شوند را با Front طراحي كنيد همچنين ميتوانيد همان فرمها را يعني مثلا گذاشتن text box و … با كدنويسي طراحي كنيد كه مختصري راجع به آن بحث ميكنيم.
يك فرم دو وظيفه دارد:
جمعآوري اطلاعات از كاربر و فرستادن آن اطلاعات به يك صفحه وب ديگر، براي انجام عمل پردازش بر روي آنها.
ايجاد فرمها
ايجاد فرمها نيز به دو خط از يك HTML دارد كه نشان داده شده است.
1:<form Method post Action “some page.ASP”
2:</form>
يعني براي ايجاد فرمها از </form> tag استفاده ميكنيم كه داراي دو خصوصيات است METHOD و ACTION
Action
در فرمهايمان هميشه يك دكمه submit داريم كه با فشار دادن آن اطلاعات به صفحهاي ميروند كه ما آن صفحه را روبروي خصلت action نوشتهايم.
Method
متد هم ميتواند Get باشد و هم Post.
استفاده از فيلدهاي فرم
text box, list box, check box, Radio button در فرم يك فيلد فرم ميباشند براي ايجاد اينها بايد از <INPUT> tag استفاده كنيم كه داراي خصوصياتي ميباشد كه در زير فقط به تعدادي از آنها ميپردازيم.
Name: اين تك به تنهايي هر عضو را در فرم معرفي مينمايد.
Type: اين تگ مشخص ميكند چه نوعي از فيلد فرم، نمايش داده شود مثلا براي Text box. Text قرار ميدهيم و …
Value: اين تگ تعيين ميكند كه مقدار پيش فرض براي فيلد فرم چه باشد. براي ايجاد List boxها از تگ <SELECT> به همراه تگ <OPTION> استفاده نماييد. هر گزينه در List box نياز به يك تگ <oprion> دارد ولي تگ <SELECT> فقط يك بار استفاده ميشود.
طراحي كردن فرمها
وقتي فرمها را ايجاد ميكنيد اول بايد مطمئن باشيد كه دكمه submit دارد دوم مهم است كه فرم به راحتي توسط كاربر كامل شود. يك مثال ساده از ساختن فرمها بيان ميكنيم يك شركت فرضي، وسايل كوچك مكانيكي توليد ميكرد و وانمود كرديم كه شما ميخواهيد در توسعه سايت وب آن همكاري نماييد براي اين شركت به اطلاعاتي نياز داريم كه عبارتند از: نام كاربر – آدرس خيابان – شهر – ايالت و Zipecode وي ميباشد براساس اين نيازمنديها شما احتياج به فيلدهاي زير داريد.
Text box
براي دريافت نام و نام خانوادگي مشتريان، همچنين براي آدرس خيابان و Zopcode خوب است.
List box
براي اينكه كاربران بتوانند ايالتشان را انتخاب كنند.
Redio box
براي گرفتن اطلاعات پسزمينهاي در مورد سرگرميها و وسايلي كه كاربران قصد خريد آنها را دارند به كار ميرود.
Chech box
ساده براي مشترك كردن بولتن خبري كافي ميباشد. كد HTML براي فرم شركت را نشان ميدهد.
عمل Submit فرمها
باعث ميشود كه اطلاعاتي كه وارد فرم ميشود وقتي اين دكمه فشرده ميشود به جايي فرستاده شود كه Action آن فرم اشاره ميكند.
تفاوت Get,Post
گفتيم كه METHOD دو حالت دارد GET و POST. اگر از متد querystring استفاده كنيد GET و اگر استفاده نكنيد POST.
Querystring اطلاعات اضافهاي ميباشد كه با چسبيدن به انتها URL به صفحه وب ارسال ميشود.
Querystring با استفاده از دو مقدار نام / مقدار ساخته ميشود مانند:
Variablename Valueo fariable
توجه كنيد Querystring با استفاده از يك علامت سؤال (؟) نشان داده ميشود.
اگر شما قصد پرسيدن اطلاعات خصوصي را داريد بهتر است كه METHOD را GET قرار دهيد وقتي POSt قرار ميدهيد اطلاعات عبور داده شده مخفي ميگردند. يعني POST زماني خوب است كه اطلاعات مهمي را از كاربرانتان گردآوري مينمائيد.
خواندن مقادير فرم از طريق صفحه ASP
مقادير فيلد فرم را با استفاده از آبجكت Response ميخوانيد براي خواندن اطلاعات از آبجكت Request استفاده ميكنيم در بخش فرمها به شما گفتيم كه جمعآوري وروديهاي كاربر داراي دو مرحله پردازش است. در اولين قدم يك صفحه وب ايجاد كنيد كه شامل كد HTML مورد نياز براي نمايش فرم به كاربران براي وارد كردن اطلاعاتشان ميباشد. ما به اين قسمت صفحه وب Form ereating web page ميگوييم. دومين قدم، ايجاد يك صفحه ASP است كه با استفاده از آبجكت Request مقادير فيلدهاي فرم وارد شده به وسيله كاربر را ميخواند و براساس آن اطلاعات تصميمگيري مينمايد كه چه كاري انجام دهد.
اين اسكريپت به عنوان اسكريپت پردازشگر فرم با Form Script Processing اطلاق ميگردد. اطلاعات فيلد فرم، تا زماني كه فرم Submit نشده است به اسكريپت پردازشگر فرم ارسال نميگردد. يك فرم وقتي Submit ميشود كه دكمه Submit به وسيله كليك كردن مورد استفاده قرار بگيرند و از آنها به طور مفيد لذت ببرند.
استفاده از فيلدهاي فرم مختلف
هرگاه خواستيد كه يك فيلد را داخل صفحه وب خود قرار دهيد بايد مطمئن باشيد كه بعد از تگ <form> و قبل از </form> قرار داشته باشد گاهي اوقات است كه در
اگر شما تمايل داريد كه كاربرانتان محدود به انتخاب يك آيتم در ميان مجموعهاي از پاسخهاي قابل قبول باشند، يك List Box معمولا بهترين انتخاب ميباشد، مخصوصا وقتي كه مجموعه پاسخهاي قابل قبول بزرگ ميباشد. |
List Box |
زمانيكه شما نياز داريد تا كاربر بتواند رشته از كاراكترها يا يك عدد را وارد نمايد، Text Box بهترين انتخاب ميباشد. اگرچه، ورودي كاربر محدود ميگردد. به عنوان مثال كاربري كه ميخواهد وضعيت حضور و غيابش را انتخاب كند عاقلانهتر است كه يك List Box يا مجموعهاي Radio Button استفاده شود. |
Text Box |
هر زماني كه شما گزينهاي چند گانه و وابسته كه جواب بله يا خير دارند، ميتوانيد از مجموعهاي از Check Boxها استفاده نماييد. هر زمان كه سؤال شما يك جواب ساده بله و خير دارد. مانند آيا تمايل داريد كه ليست محصولات جديدمان را به وسيله پست الكترونيكي دريافت نماييد؟ استفاده از يك Check Box كار قشنگي است. |
Check box |
هر زماني كه مجموعهاي از گزينهها را داريد كه خصوصيت دوگانگي دارند به اين معني كه يا هيچكدام يا تنها يكي از گزينهها ميتوانند انتخاب شوند.Radio Boxها بهترين روش ميباشند. Radio boxها را ميتوانيد به جاي List boxها، هنگامي كه تعداد گزينههاي منحصر به فرد زياد نيست، به كار ببريد. |
Radio box |
شرايطي استفاده از يك فيلد فرم در جايي بهتر است فيلدي ديگر ميباشد در جدول زير اين شرايط را ذكر كردهايم.
Text Boxes
خصوصياتي مانند VALUE,SIZE,NAME دارند. خصوصيت NAME در تمامي انواع فيلدهاي فرم مشترك است و فيلد فرم منحصر به فرد ميكند. سپس وقتي ما اطلاعاتمان را در Text boxها وارد ميكنيم دكمه submit را هم ميزنيم اطلاعات ديده ميشوند به عنوان مثال:
<INPUT TYPE=TEXT NAME+contry VALUE=”united state”
<INPUT TYPE NAME=Areacode size=3>
كه خصوصيات را همانطور كه ديديد در <INPUT> tag قرار ميدهيم.
List boxes
List boxesها از همه فيلدهاي فرم عجيبترند زيرا تنها فيلدي كه با استفاده از تگ (INPUT) ايجاد نميشود. در عرض با دو tag، <select><option>ساخته ميشوند. تگ <SELECT> معين ميكند كه يك List box ايجاد خواهد شد در حالي كه هر tag <OPTION> يك انتخاب منحصر به فرد از List box را نشان ميدهد تك SELECT دو خصلت دارد خصوصيت NAME و SIZE
تگ OPTION دو خصوصيت دارد خصوصيت VALUE كه هر گزينه List boxes را به صورت مجزا منحصر به خود وقتي كه شما يك گزينه از List boxes را انتخاب ميكنيد و فرم را submit ميكنيد به اسكريپت پردازش كننده فرم رشتهاي شامل خصوصيت VALUE آيتم انتخاب شده List boxes عبور داده ميشود. خصوصيت VALUE متني را كه بعد از تگ <OPTION> آمده در List boxes نشان داده ميشود. بعنوان مثال:
<FORM>
<SELECT NAME=Defulttest
<OPTION VALUE: “1”>1 Gufromrolla
<OPTION VALUE: “2”>Gufromrolla
</SELECT>
</FORM>
Check Boxes
استفاده از فيلد انتخابها را محدود ميكند به علاوه Check Boxesها در يك گروه از سوالهايي كه از نوع NO/YES هستند و كاربر قادر باشد كه به هر سؤال پاسخ مثبت يا منفي بدهد يا استفاده از <INPUT>tag ايجاد ميشوند براي يك Check Box بايد خصوصيت type آن را به صورت Type check box تنظيم كنيد و خصوصيت name براي آن اندكي متفاوت است به جاي اينكه به هر Check Box يك نام بدهيد ميتوانيد به همه آنها با هم يك نام بدهيد به عنوان مثال:
<INPUT Type=check box NAME=prodctline UALUE=Stores>
<INPUT Type=check box NAME=prodctline UALUE=HOME>
Radio Buttons
شبيه Check coxها ميباشند فقط Check Box به كاربر اجازه انتخاب بيش از يكي را ميدهد ولي در Radio button فقط حق انتخاب يك گزينه را داريد. با <INPUT TAG> ايجاد ميشود همانند Check Box ها همگي name مشتركي دارند ولي VALUE آنها متفاوت است شما ميتوانيد با استفاده از كلمه كليدي CHECKES يك Radio button را به صورت پيش فرض انتخاب كنيد خطوط زير يك radio button را كه به صورت پيش فرض علامت خورده است را ايجاد ميكنند.
<INPUT Type=Radio NAME=prodctline
VALUE=Stereo CHECKED>
در آخر اين بحث يك بار ديگر فرم كلي را نشان ميدهيم.
<HTML>
<BODY>
<FORM>
قرار دادن فيلدهاي فرم
</FORM>
</BODY>
</HTML>
استفاده از آبجكتRequest
اين آبجكت چهار مجموعه دارد كه دو مجموعه آن عبارتند از:
Querystring
هنگامي كه مقادير فيلدهاي فرم از طريق avery string انتقال داده ميشود از اين مجموعه استفاده كنيد. بنابراين اگر يك فرم را با METHOD GET بسازيد بايد از اين مجموعه استفاده كنيد.
FORM
هنگامي كه با خصوصيت METHOD برابر با POST ايجاد ميشود از اين مجموعه Request استفاده ميشود. براي استفاده كردن از مجموعهها بايد از دستور زبان زير پيروي كنيد.
Request.Form(variable Name)
Request.Qverystring(variable Name)
Variable name
هميشه خصوصيات NAME فيلد فرمي است كه به آن علاقه داريد. شما ميتوانيد بدون اينكه از دو مجموعه گفته شده استفاده نماييد از دستور زبان زير استفاده كنيد.
Request (“variable Name”)
به دست آوردن فيلدهاي فرم
به دست آوردن مقادير Text Boxها
به عنوان مثال فرض كنيد يك Text Box در فرم تعريف كردهايد.
<INPUT TYPE=TEXT NAME= “Phone Number”>
در اسكريپت پردازش كننده فرم، مقدار اين Text box را با كد ASP زير بدست ميآوريد.
<%
Dim Strphone
Strphone=Request (“phone number”)
%>
به دست آوردن مقادير list boxها
<%
Dim 1
L=Request (“list Box Name”)
%>
به دست آوردن مقادير Check boxها
<%
Dim l
L=Request (check Box Name)
%>
به دست آوردن مقادير Radio Buttonها
<%
Dim l
L=request (radio Box Name)
%>
استفاده از Query String به منظور ارسال اطلاعات
درباره بهترين زمان استفاده از Query String براي ارسال اطلاعات از يك صفحه ASP به صفحه ديگر توضيح ميدهيم. درك اين مطلب مهم است كه ارسال اطلاعات از طريق Query String نميتوان جايگزيني در برابر استفاده از فرمها باشد اگر نياز به جمعآوري اطلاعات از كاربرانتان داريد شما نياز به استفاده از فرم داريد.
شما ميتوانيد از فراپيوندها با Quere Stringهايي كه اطلاعات در آن بارگذاري شده است به عنوان مكملها استفاده كنيد اگر فرمها استفاده كنيد اگر فرم يك جواب عمومي دارد.
يك فراپيوند سريع در حالي كه پاسخهاي عمومي قبلا در آنها بارگذاري شده است، ميتواند به عنوان قسم يك فرم خدمت كند. ارسال اطلاعات از طريق Qyery String به صورت گستردهاي استفاده خواهد شد تا به پشتيباني صفحات ASP از يكديگر كمك نمايند.
كار كردن با آبجكت Request
دو مجموعه از آبجكت Request را گفتيم. در اين قسمت دو مجموعه ديگر از Request را توضيح ميدهيم كه عبارتند از Cookies و Server Variables هر وقت كه يك صفحه وب را بازديد ميكنيد مرورگرتان يك اطلاعات توزيعي را براي سرويس دهنده وب ارسال ميكند اين اطلاعات ميتواند به وسيله مجموعه VariablesServer مورد دسترسي قرار بگيرد. با استفاده از cookies صفحات وب شما ميتواند بيتهاي كوچكي از اطلاعات كامپيوتر سرويس گيرنده را ذخيره نمايد اين بيتهاي اطلاعاتي ميتوانند براي تعيين بازديد كنندگاني كه دوباره به صفحه رجوع كردهاند و يا سفارشي كردن صفحات وب براي بازديد كننده منحصر به فرد مورد استفاده قرار بگيرند.
خواندن متغييرهاي محيطي با استفاده از Request, Server variable مجموعه Server Varoables با فرمت زير مورد استفاده قرار ميگيرند.
Request, Server variable (envirnomentrariable name) ميتوانيد محتويات Request, Server variable را چون يك مجموعه ميباشد با استفاده از حلقه () نشان دهيد.
استفاده از كوكيها (Cookies)
يك نرمافزار كاربردي زماني State گفته ميشود كه در آن نرمافزار براي هر كاربر اطلاعاتي را باقي بگذارد. در يك سايت وب، اين مورد وجود ندارد. سايتهاي وب را ميتوان مجبور كرد كه State less نباشند. آبجكت Session يكي از آبجكتهاي پيش ساخته ASP به اين منظور طراحي شده است كه اطلاعات كاربر را وقتي كاربر از سايت وب بازديد ميكند نگهداري نمايد. اگرچه آبجكت Session براي كار كردن ساده ميباشد اما چندين ايراد دارد.
كوكيها چيستند؟
بيتهاي اطلاعاتي كوچك هستند كه مانند رشتهها و مقادير عددي، بر روي كامپيوتر سرويس گيرنده براي مدت زمان معيني ذخيره ميشوند. وقتي كه كوكيها بر روي كامپيوترهاي سرويس گيرنده ساخته ميشود سازنده آنها بايد خاتمه يافتن آن را معين نمايند. بعد از اينكه يك كوكي به پايان كار خود ميرسد به صورت خودكار خودش از كامپيوتر سرويس گيرنده پاك ميكند.
چگونه با آبجكت Request كوكيها را بخوانيم؟
كوكيها با استفاده از مرورگرهاي HTTP ذخيره و خواننده ميشوند هر وقت مرورگر درخواست يك صفحه وب ميكند براي مرورگر كوكيهايي كه سايت وب فعلي ساخته است ارسال ميگردد. براي مثال اگر شما يك صفحه ASP بر روي سرويس دهنده وبتان ايجاد كردهايد كه كد زير را دارد:
<%=Request, Server Variable (“Cookie”)%>
شما يك فهرست از تمامي كوكيهايي را كه بر روي كامپيوتر سرويسگيرنده موجود است و به وسيله اسكريپتان روي سايت وب شما ساخته شده است را ميبينيد از دستور زبان زير براي خواندن كوكيها استفاده ميشود:
Request. Cookies (cookie Name) [(key Name)]
هر كوكي ميتواند از صفر تا تعدادي كليه داشته باشد.
چگونه با استفاده از آبجكت Reqose كوكيها را بنويسيم؟
كد زير يك كوكي را بر سرويسگيرنده مينويسد.
Reaponse. Cookies (“my firstcookie”) ‘Hello, World”
كوكيها ميتوانند هر نوع دادهاي باشند.
كد زير سه كليد براي كوكي my first cookie with keys ميسازد.
Response. Cookies (“my firstcookie with keys”)(“key 1”)=65
Response. Cookies (“my firstcookieswithkeys”) (“key 2”) “4Guyfron
Rolla”
Response. Cookies (“my firscookie with keys”) (“key 3)=True
مجموعههاي كوكيها هم براي آبجكت Request و براي Response به صورت جالبي شبيه هم ميباشند. تفاوت اصلي آنها اين است كه Response.Cookies كوكيها را بر روي كامپيوتر Client مينويسد در حالي كه Request cookies كوكيها را از كامپيوتر Client ميخواند. وقتي كه كوكي را ميسازيم با خاصيت Expires تعيين كنيد كه چه زماني كوكي بايد از بين برود اگر اين كار را نكنيد مرورگر هر وقت كه خواست به مرور در آن را از بين ميبرد. براي مثال كد زير كوكي User information را به صورتي تنظيم ميكند كه در اول آگوست سال 2002 از بين برود.
Response.Cookies (“Userinformation”). Expires= August
1.2002#
به ياد داشته باشيد كه كوكيها فقط به وسيله سايت وب تعيين شده خوانده ميشوند يك خاصيت به نام Domain وجود دارد كه ميتواند با استفاده از مجموعه Response. Cookies آن را تنظيم نماييد اين خاصيت به صورت پيش فرض برابر با نام حوزه سايت وب شما ميباشد.
خاصيت Path همچنين تعيين ميكند كه چگونه كوكيها خوانده شوند به صورت پيش فرض به كوكيها اجازه ميدهد كه به وسيله صفحه ASP موجود در هر لايدكتوري ايجاد شده و به وسيله صفحه ASP موجود در هر رايدكتوري خوانده شوند.
خاصيت ديگر Seaure اين است اين خاصيت با مقدار بولين تعيين ميكند كه آيا يك كوكي از طريق پروتكل ناامن فرستاده شود يا خير.
مزايا و معايب كوكيها
مزاياي كوكيها
از آنجايي كه كوكيها بر روي كامپيوتر Client قرار ميگيرند نياز به تخصيص فضايي بر روي سرويس دهنده وب، براي ذخيره اطلاعات كاربر معين، نياز نيست.
كوكيها ميتوانند براي سفارشي كردن بازديد كاربر از سايت مورد استفاده قرار گيرند.
معايب كوكيها
كاربران ميتوانند مانع از پذيرش كوكيها بر روي مرورگر وب خود باشند.
كوكيها قادر به ذخيره آبجكتها بزرگ، آرايه، يا ديگر انواع دادهاي پيچيده نميباشند. فقط ميتوانند رشته، تاريخ يا انواع دادهاي ذخيره كنند.
استفاده از بانك اطلاعاتي
كار كردن با بانك اطلاعاتي با استفاده از ASP
در ابتداي بحث چگونگي ايجاد يك بانك اطلاعاتي با استفاده از Access 2000 مايكروسافت و سپس پرسوجو از اين بانك اطلاعاتي از طريق ASP را خواهيد آموخت ابتدا در Accesss با استفاده از Wizard ساخت جدول در پايگاه داده مشخص جدولي ميسازيم و براي آن فيلدهايي را تا نوع دادهاي دلخواه را قرار ميدهيم. براي ارتباط برقرار كردن ASP با آن پايگاه داده شما نياز به كامپوننت Actirex DataObject(ADO) دارد. وقتي قصد بازيابي اطلاعات از يك بانك را داريد نياز به انجام دو مرحله كار داريد.
1.برقراري يك اتصال به بانك اطلاعاتي
2.پرسوجوي بانك اطلاعاتي
براي كمك به شما در هنگام اتصال برقرار كردن اطلاعات، ADO دو آبجكت سودمند را فراهم مينمايد: آبجكت Connection و Recordset. برقرار كردن يك اتصال به بانك اطلاعاتي با استفاده از آبجكت Connection ميباشد همچنين آبجكت Recordset با توجه به نيازهاي ما ارتباطات ما را با جداول برقرار ميكند.
ObjRs از نوع Recordset و Objconn از نوع Connection است. چند خط زير را براي ارتباط با پايگاه داده بايد نوشت:
1-%@Language=Vbsctipt%
2-<%Option explicit %>
3-!_include virtual=”/adovbs.inc”à
4<%
5Dim Objconn
6 Set obgconn=Server. Create object (“ADODB. Connection”)
7 Objconn. Connectionstring”Driver={Microsof Access Driver (*.mdb)
8}:”a”DBQ=
9Objeconn.open
10Dim objRS=Server. Createobject (“ADODB. Recordset”)
11Set objRS=Server. Createobjconn. (“ADODB”)
12ObjRS.ope” adcdTabel,,,.Objconn
و در ادامه خواندن اطلاعات از فرم را مينويسم.
خط 1و 2 و3 را هميشه بايد نوشت كه نشان دهنده استفاده از زبان خا ما ميباشد و همچنين خط سه يك فايل است كه بايد آن را حتماً در قسمت WWW ROOT خود ذخيره كرد خط 5 تا 9 براي ارتباط برقرار كردن با پايگاه داده است و خط 10 تا 12 هم براي ارتباط برقرار كردن با جدولي از آن پايگاه داده است در ادامه هم انتظاراتي را كه از آن جدول داريد مينويسد مثلاً شما يك جدول در پايگاه داده داريد كه داراي فيلد NAME است از فرم ورودي كه فيلد NAME را ميگيرد ميخواهيد در آن جدول ريخته شود البته شود البته فيلد NAME را در فرم با يك text box نشان ميدهيم كه نامش t1 بعد از برقراري اتصالات بايد بنويسيد و objRS(NAME)Request.Form(t) هميشه بعد از نوشتن اطلاعات خواسته شده از جدول در آخر بايد جدول و پايگاه داده خود را ببنديد كه به صورت زير نوشته ميشود.
1.ObjRS.Close
2.Set objRS Nothing
3.Objconn.Close
4.Set Objconn=Noting
خط يك و دو براي بستن جدول ميباشد و خط سه و چهار براي بستن پايگاه داده ميباشد.
متد Open چند پارامتر دارد اولين پارامتر نام جدول بانك اطلاعاتي است.
دومين پارامتر نمونه از آبجكت connection است كه شامل يك اتصال فيزيكي به بانك اطلاعاتي ميباشد دو پارامتر بعدي اختياري هستند و پارامتر آخر ademdtable به بانك اطلاعاتي اطلاع ميدهد كه پارامتر اولي نام جدول بانك اطلاعاتي را نشان ميإهد وقتي با آبجكتRecordset كار ميكنيد ميتوانيد به اطلاعات موجود در تمامي سطرهاي بانك اطلاعاتي دسترسي پيدا نماييد. با استفاده از متد MOVE NEXT به سطر بعدي در داخل آبجكت Recordset برويد هنگامي كه از آخرين سطر در داخل سطر در داخل آبجكت Recordset عبور كرديم خاصيت EOF كه پايان فايل را مشخص ميكند برابر True ميگردد و حلقه Do while Not.objRS.EOF متوقف ميگردد به خطوط زير كه تكميل كننده فعال قبل است توجه فرماييد بعد از خط 12 اين خطوط را ميتوان نوشت.
12 DO while Not.ObjRS.EOF
13 Responses. Write objRS (“NAME”)
15objRS.MOVENEXT
16LOOP
و در انتها هم خطوطي كه براي بستن جدول و پايگاه داده است را مينويسيم.
اين مثال تمام نامهايي كه در جدول موجود در پايگاه داده شما باشد را روي صفحه وب شما مينويسد تا زماني كه به انتهاي جدول برسد.
استفاده از سيستم DSN
يك سيستم DSN فايلي است كه اطلاعاتي در باره اينكه بانك اطلاعاتي در كجا قرار دارد و چه نوع بانك اطلاعاتي ميباشد را نگهداري ميكند. DSN نام منبع اطلاعاتي را نگهداري مينمايد ايجاد يك DSN به صورت زير است:
1.Access را ببنديد.
2.در ويندوز 2000 بر روي Start كليك كنيد و مراحل زير را انجام دهيد.
Start/setting/control panel/administrative tools/Date sources
(ODBS)
1.به سراغ System DSN Tab برويد مانند شكل 4-1 در سمت راست سه دكمه هست كه به شما اجازه ميدهد يك سيستم DSN جديد بسازيد يا حذف كنيد.
2.شما قصد اضافه كردن يك DSN جديد را داريد پس دكمه Add را كليك كنيد.
3.فهرستي از درايوها را در شكل صفحه 459 مشاهده ميكنيد. درايورAccess مايكروسافت را انتخاب كنيد (*.mdb) و دكمه finish را كليك كنيد.
4.اكنون كادرSetup ظاهر ميشود به عنوان منبع اطلاعاتي dsn. نام پايگاه داده را وارد كنيد اين نامي است كه براي ارجاع به DSN از آن استفاده ميكنيد.
5.بر روي دكمه Select كليك كنيد واكنون فايل .mdb را براي بانك اطلاعاتي انتخاب كنيد.
6.بر روي دكمه Ok كليك كرده و سپس DSN شما ايجاد شده است. اكنون يك سيستم DSN داريد و ميتوانيد به وسيله دستور زير آن را در اختيار آبجك connection قرار دهيد.
Objconn.Connectionstring=” DSN= “.DSN
درج كردن و بروز رساني اطلاعات در پايگاه داده
آبجكت Recordset دو متد دارد به نامهاي Addnew و Update
متد addnew يك ركورد جديد را داخل Recordset ايجاد ميكند ركورد جديد تا زماني كه متد Update فراخواني نشود به بانك اضافه نميشود.
به عنوان مثال:
ObjRS.Addnew
“ObjRS.(“NAME”)=”Bill
ObjRS.(“Email”)=”Sh@yahoo.com
ObjRS.Update
شما ميتوانيد به جاي اينكه در قسمت كد نويسي NAME و Email را مقدار دهيد از فرم از طريق كاربر بگيريد و به صورت زير بنويسيد:
مخصوص NAME در فرم (“نام فيلد”) ObjRs(“NAME”)Request. Form
(“نام فيلد مخصوص Mail در فرم”) ObjRS(“Email”)Request.Form
به روزرساني كوكيها:
شما ميتوانيد از متد Update براي تغيي فيلدها در ركوردها استفاده كنيد به اين صورت كد
مينويسيد:
ObjRS(“NAME”)=objRS.Opdoete
ObjRS(“NAME”)=” “then
ObjRS.Concleupdate
ELSE
ObjRS>Update
End IF.
حذف ركوردها
متد Delete آبجكت Recodset اجازه پاك كردن ركورد را ميدهد به صورت فراخواني اين متد ركورد فعلي را حذف ميكند.
ObjRS.delete
استفاده از عبارتهاي SQL براي عمل پرس و جو بر روي اطلاعات
اجرا كردن جملات SQL با استفاده از ASP و ADO
براي اجراي يك جمله SQL بايد مراحل زير را طي كنيم.
1.اتصال به بانك اطلاعاتي
2.يك متغير رشتهاي براي نگهداري جمله SQL تعيين كنيد.
3.جمله SQL خود را برابر با اين متغيير قرار دهيد.
4. يك نمونه از آبجكت Recordset را اجرا نماييد.
5.متد Open مربوط به آبجكت Recordset را اجرا نماييد.
به عنوان مثال
Dom StrQL
StrQL=”Select *form table name”
براي اجراي دستور مان به زبان SQL بايد نوشت:
ObjRS.open SQL sataement.Active
Connection.cursortpe.Looktype
پس براي مثال بالا مينويسيم:
ObjRS.open StrSQL.objconn
از تمام دستورات SQL نويسي ميتوان استفاده كرد از جمله ORDER by_Update SELECTو… براي يادگيري بيشتر و آشنا شدن با SQL نويسي به كتاب date مراجعه كنيد.
استفاده از PROCEDUREهاي ذخيره شده
همچنين شما ميتوانيد به جاي نوشت يك دستور SQL از PROCEDURE موجود در Access استفاده كنيد (PROCEDURE يك دستور SQL است كه قبلاً در محيط Access نوشته شده و به صورت ذخيره شده موجود ميباشد) يعني اينكه PROCEDURE را به جاي متن SQL در فايل ASP خود فراخواني كرده اجراي PROCEDURE به صورت زير ميباشد.
Objconn,ObjRS.open “Procedure name”
البته قبل از آن يك متغير از نوع String تعريف ميكنيد و آن متغير را به نام PROCEDURE خود انتساب ميدهيد.
Variable name=”procedure name”
شما ميتوانيد از متد Excute آبجكت Connection براي ساختن ضمني Recordset به منظور جمعآوري نتايج حاصل از PROCEDURE ذخيره شده استفاده نماييد.
ولي بايد به جاي (I) عبارت (II) را قرار دهيد.
I)Set objRS=Server. Creatobject (“ADODB.Recordset”)
Objconn و نام متغييري كه عبارت SQL objRS.Open را در فرم ASP در آن ريختيد.
II)Set objRS_Objconn.Excute
(نام متغييري كه Procedute را به آن انتساب دادهايم) در همين جا مطالب مربوط به ASP را به پايان ميبريم گرچه مطالب مربوط به ASP بسيار گسترده ميباشد.
معرفي نرم افزار ASP.NET:
ASP.NETفناوري جديد برنامهسازي اينترنت مايكروسافت است كه record كاراكتر و شيء گراتري به ساخت برنامههاي كاربردي پوياي وب دارد. با فناوري فعلي Active Server pages
برنامه سمت سرويس دهنده با HTML سمت سرويس گسرنده تركيب و در آن پخش ميشود.
اين مسئله اغلب به چند صفحه برنامه بزرگ و پيچيده منجر ميشود كه در آنها دنبال كردن منطق برنامه دشوار است. در اولين روزهاي طراحي و ساخت سايت وب اينترنت، فناوريهاي محدود كننده بودند. صفحات HTML ايستا براي اطلاعات ضروري كه شخص ميخواست به مخاطب خود انتقال دهد كفايت ميكردند. از آنجايي كه در آن زمان فناوريها بيشتر محدوديت آور بودند، اجتناب از سايتي كه به حد لزوم محاورهاي نبود كار آسانتري بود.
ولي امروزه يادگيري نحوه ساخت سايتهاي وب پويا و محاورهاي اهميت پيدا كرده است، به خصوص با افزايش استفاده از عناصر چند رسانهاي از قبيل Shockwave، Flash و ساخت سايتهاي تجارت الكترونيكي E_commerce كه به مجتمع سازي بانك اطلاعاتي نياز دارند.
ماكروسافت براي پاسخگوئي به اين نياز،يك پلات فرم ساخت وب به نام ActivServer page يا ASP ايجاد كرد. ASP از سوي صنعت به طور گستردهاي مورد استقبال قرار گرفت چون اغلب سازندگان ميتوانستند در زمان ساخت برنامههاي كاربردي وب از مجموعه مهارتهاي VisualBasic يا VBScript خود استفاده كنند.
با وجود اين پذيرش وسيع، استفاده از Active Server Page از چند نظر محدوديت آور بود. به عنوان مثال اعتبار سنجيدادههاي فرم گاهي به برنامهنويسي گسترده در هر دو زمينه مرورگر سرويسگيرنده و سرويسدهند نياز داشت.
به علاوه برخي از جنبههاي Active Server Page در يك محيط سازماني مقياس پذير نبودند و در سايتهاي داراي حجم بالا با قدرت، عمل نميكردند.
علاوه بر آن تركيب برنامه سمت سرويسدهند در همان صفحه HTML و جاوا اسكريپت اغلب به صفحات وبي منتهي ميشد كه تركيب پيچيدهاي از برنامه منطقي سمت سرويسدهند و برنامه فانتزي HTML طراحي شده براي رابط كاربر بودند.
اين مسئله در كنار مسائل ديگر نگهداري برنامه را به مشكلي واقعي تبديل كرد. مايكروسافت براي غلبه بر اين مسائل و بسياري مسائل ديگر ASP.NET را معرفي كرده كه محيط ساخت وب نسل بعدي اين شركت محسوب ميشود. اگر در زمينه برنامهسازي تجربه داريد، متوجه خواهيد شد كه ASP.NET Framework تا حدي زيادي به ساخت برنامههاي كاربردي سرويسگيرنده/سرويسدهنده شباهت دارد.
آيا ASP.NET به مرورگر خاصي وابسته است؟
ASP.NET يك مدل برنامهسازي مستقل از مرورگر است. ASP.NET علاوه بر مرورگرهاي پركاربردي چون Opera در جديدترين نگارشهاي Internet Explorer و Netscape Navigator نيز اجرا ميشود به علاوه برنامههاي كاربردي ASP.NET موقرانه به نگارشهاي قديميتر Internet Explorer و Netscape Navigator تنزل مقام ميدهد.
اين به معناي آن است كه اكثر كاربران اينترنت ميتوانند از برنامههاي كاربردي وب شما استفاده كنند بدون آنكه لازم باشد برنامه مخصوص مرورگر بنويسيد. اين ويژگي بار سنگيني را از دوش كساني كه در حال حاضر به ساخت وب مشغول هستند برميدارد ولي همچنان بايد به خاطر داشته باشيد كه همه مرورگرها HTML يا DHTML پويا را به طور يكسان قبول نميكنند. مثلاً Netscape نگارش 4 تا 4.75 اجازه نميدهند.
خصوصيات متن، مانند رنگ و فونت، روي صفحه تغيير داده شوند مگر آنكه صفحه در مرورگر بارگذاري مجدد شود.
Internet explorer 4 به بالاتر اجازه ميدهند خصوصيات متن روي صفحه تغيير داده شوند.
در زمان نوشتن برنامه سمت سرويسگيرنده هنوز بايد اين ناسازگاري و بسياري ناسازگاريهاي ديگر را در نظر گرفت.
لازم به ذكر است با توجه به مطالب گفته شده در طراحي اين سايت از ASP.net و VisualBasic.net استفاده شده است.
اجراي يك صفحه web در Asp.Net
فرم وب بوسيله ايجاد يك محيط ويژوال و قابليت وجود رويدادها براي اجزاي فرم، شكاف بين برنامهنويسي ويژوال بيسيك و ASP كلاسيك را پر ميكند.
يك فرم وب از دو قسمت تشكيل شده است: اجزاي ويژوال كه آنها را در هنگام طراحي ميتوانيد ببينيد و ديگري كدهايي كه در پشت كنترلها و صفحههاي ميباشند. اجزاي ويژوال در مرورگر اينترنت كاربر ديده ميشود و كدهاي كنترلها و رويدادهاي آنها درسرور اجرا ميشوند و نتيجه به كاربر اعلام ميشود. در ويژوال استوديو دات نت براي اجزاي ويژوال از فايلهاي aspx و براي كدهاي آن از فايلهاي vb (يا cs و كلاً بسته به زبان مورد استفاده) استفاده ميشود.
بوسيله تقسيم اجزاي فرم وب در فايلهاي مختلف و در ويژوال استوديو بوسيله نمايش آنها در پنجرههاي متفاوت، فرم وب يك محيطي شبيه به برنامههاي معمولي ويژوال بيسيك پيدا ميكند. در بيسيك قديمي ابتدا بوسيله اجزاي ويژوال فرمهاي خود را نقاشي ميكرديد و سپس كد مربوط به هر جز را مينوشتيد، در فرم وب نيز ابتدا اجزاي مورد نياز خود را بر روي صفحه قرار ميدهيد سپس براي آنها كد مينويسيد:
همانطور كه ذكر شد كدهايي كه براي aspx مينويسيد در فايلي با همان نام و با پسوند vb ذخيره ميشود، براي ديدن اين فايلها در قسمت بالاي Solution Explorer بر روي Show All files كليك كنيد. در زير مجموعه فايلهايaspx فايلهاي vb را نيز ميتوانيد مشاهده كنيد. بر روي فايل WebForm2.aspx.vb كليك كنيد، همانطور كه مشاهده ميكنيد اين فايل حاوي يك كلاس با نام Webform2 است. اين كلاس مشتق شده از System.Web.UI.Page است،اين امر باعث ميشود كه صفحه از آبجكتهاي Response,Request,Server, Session استفاده كند. براي فعال شدن رويدادهاي كنترلهاي مورد استفاده در صفحه نيز از WithEvents استفاده شده است.
برنامه نويسي در محيط وب تا قبل دات نت حتي در ASP احتياج به ساختن يك صفحه با HTML و قراردادن كدهاي مورد نياز در آن داشت. يك صفحه ASP تا قبل از ASP.NET يك متن ساده بود كه از بلاكهاي كد ASP و بلاكهاي كد HTML تشكيل شده بود. در هنگام فراخواني توسط كاربر صفحههاي ASP توسط سرور خوانده شده و خط به خط دستورات آن اجرا ميشد، در نهايت يك صفحه HTML به مرورگر اينترنت كاربر تحويل داده ميشد.
اما فرم وب مانند يك برنامه كامل اجرا (Execute) ميشود و نتيجه آن يك HTML است. همانطور كه قبلاً مشاهده گرديد فرمهاي وب با پسوند aspx و به صورت يك فايل متني هستند. در يك سرور دات نت (هر IIS Serverي كه NET Framework. بر روي آن نصب شده باشد)، وقتي كه يك مرورگر، درخواستي براي ديدن يك aspx ميدهد runtime مربوط به ASP.NET آن صفحه را تجزيه و تحليل كرده و آن را كامپايل ميكند. اين مرحله شبيه به نحوه كار ASP كلاسيك است، به غير از اينكه نتيجه اين كار در يك كلاس از نوع دات نت ذخيره ميشود. اين كد، يك كد كامپايل شده است و مانند ASP كلاسيك نيست كه به صورت تفسيري در هنگام لزوم اجرا شود. اين روش اجرا سرعت را در هنگام فراخواني مجدد aspx بالا ميبرد.
به طور كلي يك پروژه برنامه اينترنتي در دات نت (بيسيك) حداقل يك فايل aspx و يك فايل aspx.vb دارد، كه در اولي كدهاي HTML مانند ASP كلاسيك وجود دارد و در فايل دوم كدهايي كه براي هر كدام از اجزا نوشته ميشود قرار ميگيرد.
به علاوه در اين نوع پروژه يك فايل Global.asax قرار دارد كه مشابه Global.asaدر ASP كلاسيك است. همچنين فايل با نام Web.Config وجود دارد كه با ساختار XML ذخيره شده است و اطلاعاتي در باره پروژه را در خود ذخيره ميكند.
اين فايلها در دو مكان قرار ميگيرند. مكان اصلي سرور اينترنتي است كه برنامه بايد بر روي آن اجرا شود، همچنين يك نسخه از آن در قسمت Cache ويژوال استوديو ذخيره ميشود. هنگامي كه در ويژوال استوديو تغييري بر روي پروژه ميدهيد آن تغيير در هر دو مكان اعمال ميشود.
وقتي بوسيله ويژوال استوديو ميخواهيد برنامه خود را انتقال بدهيد، ويژوال استوديو مانند يك برنامه معمولي با پروژه رفتار ميكند. تمامي كدهاي آن را به فايل DLL تبديل ميكند و هيچ سورسي انتقال نمييابد. البته فايلهاي aspx به همان شكل انتقال مييابند. در هنگام نصب نيز فايلهاي DLLي كه بايد در سرور اينترنت قرار گيرند در آن جا كپي ميشوند. در هنگام اجرا فايل aspx و DLL بعد از تلفيق با هم به مرورگر درخواست كننده ارسال ميشود.
براي مثال يك پروژه به نام Test از فايلهاي زير تشكيل شده است كه در اين پروژه Webform1.aspx صفحه اصلي پروژه ميباشد:
WebForm1.aspx
WebForm1.aspx.vb
Global.asax
Global.asax.vb
Web.Config
كنيد كه ما فايل Global.asax را نساختهايم، بلكه خود ويژوال استوديو دات نت بود كه اين كار را به شكل خودكار انجام داد. وقتي با كليد F5 برنامه را اجرا ميكرديم فايلهاي WebForm1.aspxوGlobal.asax مستقيماً، بدون تغيير بر روي سرور اينترنت قرار ميگرفتند. اما فايلهاي WebForm1.aspx.vb و Global.asax.vb كامپايل ميشوند و نتيجه در فايل Test.dll قرار ميگيرد و در سرور در كنار دو فايل قبلي كپي ميشود.
وقتي بوسيله مرورگر فايل aspx فراخوانده ميشود، ASP.NET به صورت پويا يك فايل CLS براي آن ايجاد ميكند، سپس اين فايل به فايل dll كامپايل ميشود. اين فايل dll در نهايت فايل Test.dll را صدا ميزند و نتيجه اجرا به HTML تبديل شده و به مرورگر بازگردانده ميشود.
در ظاهر اين مراحل، اجراي يك صفحه را بسيار كند ميكند، ولي تمام اينها فقط يك بار و در هنگام اولين درخواست ديدن صفحه اتفاق ميافتد. فايل كلاسي كه ساخته شد در مكاني ذخيره شده و تا هنگامي كه آن را تغيير نداده باشيد ثابت ميماند. بنابراين در دفعات بعدي فراخواني صفحه، سرعت اجرا و نمايش آن خيلي زيادتر ميشود.
ارتباط Asp.Net با پايگاه داده
در اين قسمت روشها و ابزارهاي مورد استفاده در ASP.NET جهت برقراري ارتباط با پايگاه داده، نشان دادن دادهها، دستكاري دادهها، بهنگام سازي و… توسط اشيايي چون مهيا كنندههاي بانكهاي اطلاعاتي، DataSetها XML، و… معرفي ميشود.
بطور خلاصه راهي را كه بايد طي كرد تا به پايگاه داده متصل شده، آنرا باز كرده و دادهها را دستكاري كرده و دستورات را اجرا نمود، بوسيله يك تهيه كننده (Provider) اطلاعات مشخص ميشود. در ASP.NET معمولاً از دو روش براي اين كار استفاده ميشود. روش اول اينكه اگر پايگاه داده شما از نوع SQL Server باشد بايستي با مدل SQL Client كار كرد و اگر پايگاه داده شما غير از SQL Server باشد (در حال حاضر) بايد از روش ديگر يعني مدل OleDb استفاده نمود. بعنوان مثال اگر پايگاه داده شما Sybase,Oracle و يا Access باشد بايد از روش OleDb استفاده كنيد.
براي اين منظور ابتدا بايستي فضا نام مورد نياز را در فايل Code-behind وارد كنيد: (در اينجا از پايگاه داده SQL استفاده شده است.)
mports System.Data
mports System.Data.SqlClient
Dim con As SqlConnection
براي برقراري ارتباط با پايگاه معمولاً از كد زير استفاده ميشود:
Dim strCon As String
Strcon=”data source=AMM: initial catalog=st;persist security
Fo=False;user id=sa;password=123;workstation id=AMM
Acket ssize=4096”
On=New Sqlconnection(strCon)
بايد توجه داشت كه data source، user id و id براساس سيستم مورد نظر كه برنامه روي آن اجرا ميشود تغيير ميكند.
Con.Open()
حال بوسيله متد open ارتباط باز ميشود:
لازم به توضيح است كه در پايان كار بوسيله متد Close ارتباط را خاتمه ميدهيم. به محض ارتباط با پايگاه داده ميتوان دستورات را به آن فرستاد. اين كار معمولاً بوسيله شي SqICommand انجام ميشود. جهت انجام اين كار ميتوان يك دستور SQL يا نام يك روال ذخيره شده را مشخص نمود و بنا به مقتضيات ميتوان اعمال مختلفي را روي پايگاه پياده نمود:
Dim cmd As Sq|Command
Dim strSq|As String
StrSq|=”Select* from table”
Md=New Sq|Command(strSq|,con)
ملاحظه ميكنيد كه كلاس Command از دو پارامتر رشته SQL و نام رشته ارتباطي براي فرستادن دستورات به پايگاه داده استفاده ميكند. براي مثال آنچه را كه در عبارت فوق ديديد ميتوان به بخشهاي كوچكتر زير تقسيم كرد.
روشهاي فوق دقيقاً يك كار مشابه را انجام ميدهند با اين اوصاف كه در عبارت آخر بجاي شيء ارتباطي از يك رشته ارتباطي استفاده شده است. تا اين مرحله هنوز عبارات فوق را به اجرا درنياوردهايم. براي اين كار راههاي متفاوتي وجود دارد:
-از ExecuteNonQuery زماني استفاده ميشود كه قصد برگرداندن دادهها از پايگاه مورد نظر نباشد مثلاً در مواقعي كه از دستورات SQL جهت درج (Insert) و بهنگام سازي (update) استفاده شود.
-از ExecuteReader براي خواندن و برگرداند اطلاعات از پايگاه استفاده ميكنيم.
Dim dr As Sq|DataReader
D dr=cmd.EcxcuteReader
-براي دستكاري يك تك مقدار مشخص و مورد نظر از متد ExecuteScalar استفاده ميشود.
-براي خواندن دادهها معمولاً از كلاس DataReader استفاده ميشود.
-براي خواندن نه براي اضافه كردن يا بروز كردن – اين شيء بصورت مستقيم به پايگاه داده دسترسي دارد و فقط خواندني (Read Only) است. البته اين خاصيت محدوديتي براي آن است اما براي خواندن ساده داده روشي كامل بشمار ميرود.
شيء بعدي كه مورد بحث قرار ميگيرد كلاس Data Adapter است.
Sq|DataAdapter اطلاعات را ميگيرد و يك ارتباط منطقي بين دادهها و كلاس Dataset ايجاد ميكند. بطور كلي ميتوان گفت Data Adapter در نظر اول معادل Data Command ميباشد.
ملاحظه ميكنيد كه شيء Adapter از دو پارامتر-يكي رشته دستورات SQL و ديگري رشته ارتباطي – براي فرستادن دستورات به پايگاه داده استفاده ميكند. بطورمعمول DataAdapter براي پر كردن DataSetها و بروز كردن پايگاه بوسيله يك DataSet و اجرا كردن دستورات بكار ميرود.
Dim ds As DataSet=New dataset
Dim sq|Adapter As New Sq|DataAdapter (“Select*From
Table1”,con)
Sq|Adapter. Fill(ds.””)
ملاحظه ميكنيد كه شيء Adapter از دو پارامتر – يكي رشته دستورات SQL و ديگري رشته ارتباطي – براي فرستادن دستورات به پايگاه داده استفاده ميكند. بطور معمول DataAdapter براي پر كردن DataSetها و بروز كردن پايگاه بوسيله يك DataSet ذخيره ميشود.
Web.Config: بيشتر برنامههاي كاربردي كامپيوتري داراي بخشي به نام Setup هستند كه براي انجام تنظيمات متناسب با استفادههاي مختلف كاربران مورد استفاده قرار ميگيرد. برنامههاي كاربردي مبتني بر Web نيز كه داراي كاربران زيادي هستند از اين قائده مستثني نيستند و احتياج به انجام تنظيماتي متناسب با كاربردهاي مختلف خود دارند.
در ASP.NET اينگونه تنظيمات كه مربوط به منابع مورد استفاده برنامه كاربردي، اطلاعات محلي، اطلاعات امنيتي و.. ميشوند در داخل يك فايل XML ذخيره ميشوند كه نام آن Web.configاست و طبعاً به مانند اسناد WML شامل تعدادي تگ (معادل Tag در HTML) است و به كوچك و بزرگ بودن حروف نيز حساس است (Case Sensitive).
در اين مقاله به اختصار به توضيح در مورد تگهاي مهم اين فايل و چگونگي تنظيم خصوصيات مهم اين تگها و كاربردهاي آنها ميپردازيم. پيش از ادامه مطلب اين نكته را متذكر ميشويم كه اين فايل شامل تعداد زيادي تگ با خصوصيات مختلف است كه هر يك به جنبهاي از يك برنامه كاربردي تحت Web مربوط هستند. در اين مقاله در مورد تگهاي پر كاربرد و مهم اين فايل و خصوصيات مهم آنها اطلاعاتي ارائه شده است براي به دست آوردن اطلاعات بيشتر در مورد هر يك از تگها و خواص آنها بايد به منابع تخصصي مرتبط با هر بخش رجوع كرد.
محل و محدوده عملكرد فايل Web.config:
به طور طبيعي هر برنامه كاربردي Web در ASP.NET داراي حداقل يك فايل Web.Config در داخل دايركتوري ريشه خود ميباشد كه به طور خودكار توسط Visual Studio.NET در زمان ايجاد اين Web Application ايجاد شده و با مقادير پيش فرض در دايركتوري ريشه برنامه كاربردي قرار ميگيرد. ولي برنامه نويسان ميتوانند بر حسب نيازها و كاربردهاي برنامههاي خود تعداد بيشتري از اين فايل XML را در داخل دايركتوريهاي مختلف برنامه ايجاد كنند و براي تنظيمات فايلهاي داخل همان دايركتوري يا زير دايركتوريهاي آن به كار گيرند.
تنظيمات هر فايل Web.Config به فايلهاي داخل زير دايركتورياي كه در آن قرار دارد و همچنين زير دايركتوريهاي آن اعمال ميشود. همچنين برنامه نويس ميتواند از طريق كدهاي داخل هر فايل Web.configمنابع و دايركتوريهاي مورد نظر را تغيير دهد.
براي درك بهتر نحوه ارتباط فايلهاي Web.config در يك برنامه كاربردي Web، مثال زير را بيان ميكنيم.
اگر يك دايركتوري به نام main و دو زير دايركتوري به نام Sub1 و Sub2 در برنامه كاربردي موجود باشند كه در درون هر كدام از اين دايركتوريها يك فايل Web.Config قرار داشته باشد تنظيمات هر فايل Web.config بر فايلهاي داخل زير دايركتوري آن اعمال ميشود اما اگر در يك فايل Web.config كه داخل زير دايركتوري Sub1 يا Sub2 قرار دارد يكي از تنظيماتي كه در فايل Web.Config كه داخل main قرار دارد صورت نگرفته باشد مقدار تنظيم شده در داخل فايل موجود در main به زير دايركتوريها به ارث ميرسد.
نكتهاي كه بايد در اينجا به آن اشاره كرد اين است كه كاربران برنامه وب به محتواي فايلهاي Web.config دسترسي ندارند.
ساختار فايل Web.Config:
هر فايل Web.config شامل يك بخش پايه است كه همان دو تگ <configuration> و </configuration> هستند و بقيه محتوا درون اين دو تگ قرار ميگيرد. پس ساختار كلي هر فايل Web.Config به صورت زير است:
<Configuration>
<!__ Some Configurations__>
</configuration>
محتواي هر فايل Web.congif شامل دو بخش اساسي است: معرفي و تنظيمات.
بخش معرفي داخل دو تگ <configsectons> و </configsections> قرار ميگيرد و بخش تنظيمات، تنظيمات مربوط به منابع معرفي شده در اين تگها را شامل ميشود.
ابتداي فايل Web.Config و بعد از تگ <configuration> تگ <configsections> قرار دارد. داخل اين تگ و تگ جفت آن يعني </configsectons> تگهايي جهت معرفي منابع و اداره كننده قسمتها قرار دارد. حال كه با ساختار كلي فايل Web.config آشنا شديم در ادامه به توضيحاتي در مورد تگهاي مهم اين فايل و خصوصيات آنها ميپردازيم.
Location:
پيشتر اشاره شد كه تنظيمات هر فايل Web.config بر فايلهاي داخل ريشه اين فايل و زير دايركتوريهاي آن اعمال ميشوند، حال اگر بخواهيم تنظيمات يك فايل Web.config را بر دايركتوري خاصي اعمال كنيم تنها لازم است اين تنظيمات را داخل يك جفت تگ <locatioon> و </iocation> قرار دهيم يعني شكل كلي استفاده از اين جفت تگ به صورت زير است:
<|ocation path=”ur|”>
<!—Configurations__>
</|ocation>
اطلاعات محلي:
از تگ <globalization> براي تعريف خصوصيات فرهنگي و زباني برنامه كاربردي استفاده ميشود. خواص مهم اين تگ عبارتند از:
culture: فرهنگ برنامه كاربردي را تعيين ميكند.
Requestencoding: شكل رشتههاي درخواست شده را تعيين ميكند (براي مثال Unicode).
Responseencoding: شكل رشتههاي پاسخ را تعيين ميكند.
تگهاي امنيتي:
درون فايلWeb.Config تگهايي جهت تنظيم مقادير و خصوصيات امنيتي برنامه كاربردي قابل تعريف هستند. جفت تگهاي <authentication> و </authentication> و <authorization> و </authorization> ساختار امنيتي درون فايل Web.Config را ميسازند كه داراي خصوصيات و مقادير متفاوتي هستند كه توضيح در مورد آنان به مباحث مقدماتي امنيت در ASP.NET برميگردد ولي در زير توضيح كوتاهي از هر يك از اين جفت تگها ارائه ميگردد.
تگ <authentication>: اين جفت تگ به تعيين شكل تاييد اعتبار در برنامه كاربردي تحت Web ميپردازد. از طريق خصوصيت mode كه چهار مقدار Form، Passport، Windows، None را ميپذيرد ميتوان شكل تاييد اعتبار را به ترتيب بر مبناي ساختار امنيتي IIS، سرويس تاييد اعتبار Passport شركت مايكروسافت، استفاده از cookieها و بدون استفاده از سيستم امنيتي تعيين كرد.
تگ <authorization>: اين جفت تگ براي تعيين كاربران واجد شرايط و يا فاقد شرايط ورود به محدوده تحت كنترل فايل Web.config استفاده ميشود. با استفاده از دو تگر <allow> و <deny> ميتوان كاربراني كه اجازه ورود به محدوده تحت حفاظت را دارند و فاقد اين اجازه هستند استفاده كرد.
خطاي زمان اجرا:
تگ <customerrors> جهت تعيين شكل عملكرد برنامه در زمان وقوع يك خطاي پيش بيني نشده در زمان درخواست يك صفحه توسط كاربر به كار ميرود. اين تگ داراي دو صفت مهم است كه در زير توضيح داده شدهاند.
Mode: اين صفت جهت تعيين نوع عملكرد برنامه كاربردي در مواجهه با خطا به كار ميرود و يكي از سه مقدار On,RemoteOnly و off را ميگيرد. با تنظيم اين صفت با مقدار RemoteOnly در صورت بروز خطاي زمان اجرا صفحه از پيش تعيين شده در قسمت RemoteOnly در صورت بروز خطاي زمان اجرا صفحه از پيش تعيين شده در قسمت defaultredirect براي كاربران نشان داده خواهد شد ولي كاربراني كه بصورت محلي از برنامه استفاده ميكنند (مقابل سرور نشستهاند) صفحه خودكار ASP.NET و جزئيات خطا را خواهند ديد. با تنظيم اين صفت با مقدار On در صورت بروز خطاي زمان اجرا همواره صفحه از پيش تعيين شده در قسمت defaultredirect نشان داده خواهد شد. با تنظيم اين صفت با مقدار Off صفحه خطاي خودكار ASP.NET به نمايش درميآيد كه از لحاظ امنيتي گزينه مناسبي نيست.
Defaulrtedirect: آدرس Ur|فايلي را كه براي نمايش خطا در زمان تنظيم خصوصيت Mode با مقدار On يا RemoteOnly بكار ميرود تعيين ميكند.
وضعيت جلسه كاري:
تگ <sessionState> براي تعيين وضعيت جلسه كاري مورد استفاده قرار ميگيرد و مدت زمان يك جلسه كاري و همچنين شكل تعيين درخواست كاربران را تعيين ميكند. از صفات مهم اين تگ يكي Cookiless است كه تعيين ميكند جلسه كاري كاربران از طريق Cookieها يا Session|Dها نسبت داده شوند كه دو مقدار true يا False را ميگيرد: true براي استفاده از Session|D و false براي استفاده از Cookie.
فصل پنجم
پياده سازي وب سايت
پياده سازي پروژه وب سايت هتل
هنگامي که صفحه به طور کامل طراحي و قابل اجرا شد بايد انرا به يک سرويس دهنده ميزبان انتقال دهيم تا کاربران بتوانند به آن دسترسي پيدا کنند.ما براي پياده سازي سايت با يک ميزبان WEB يا ASP در مورد بهترين راه نشر آن گفتگو کرديم.
آزمايش کردن صفحه
در بسياري از ويرايشگرهاي وب روش دستي يا اتوماتيک براي امتحان کردن عملکرد صفحه طراحي شده به دفعات توصيه مي شود در پروژه حاضر براي طراحي از نرم افزار Dreamweaver استفاده شده است.در اين نرم افزار مي توان براي امتحان کردن صفحه از دکمه F12 استفاده کردو صفحه هاي طراحي شده را در Browser آزمايش کنيم.
پيدا کردن ميزبان(HOST)
به منظور قرار دادن فايل هاي طراحي شده در شبکه بايد براي پيدا کردن ميزبان مورد نظر هزينه اي را پرداخت کنيم .صدهاو يا هزاران شرکت در دنيا وجود دارند که به عنوان ميزبان ثبت شده اند.اگر هزينه ها به صورت ماهيانه باشد به خدماتي که ارائه مي دهد بستگي دارد.بعضي از شرکت ها نيز با ارائه تبليغات مورد نظرشان به صورت مجاني ميزبان مي شوند.گرچه مي توانيد براي پيدا کردن شرکت هاي ميزبان در اينترنت جستجو کرد ولي بهتر است که با ديگران در اين مورد صحبت نمود يا در صفحات زرد (Yellow page) محل آنها را جستجو نمود.
در انتخاب علاوه بر قيمت عوامل مهم ديگري نيز وجود دارند که در زير به آنها اشاره شده:
چه مقدار فضا براي وب سايت ما اختصاص مي دهد. هرگز نبايد بيش از نياز خود انتخاب کنيد و به ياد داشته باشيد که فايل هاي HTML نيازمند فضاي اندکي مي باشند اگرچه فايل هاي تصويري¸صوتي...حجم زيادي دارند.
آيا ميزبان مورد نظر¸خدمات فني نيز ارائه مي دهد؟ اگر چنين باشد با تلفن يا ايميل در چه مدت زماني مي توانيم با آن ارتباط برقرار کنيم؟
آيا يک نام Domain به شما اختصاص مي دهد؟ چه هزينه اي بايد بپردازيد؟
سرعت ارتباط با اينترنت ميزبان چگونه است؟ زيرا بدينوسيله سرعت انتقال صفحه به کاربر و يا بينندگان صفحه شما مشخص مي شود.چندين ارتباط مي تواند در صورت خرابي يک ارتباط برقرار کند؟
آيا به شما امکان اجراي صفحات ASP.NET را مي دهند؟
آيا آماري از بينندگان صفحه به شما ارائه مي دهند؟
گرفتن يک نام Domain
عموما آدرس يک صفحه وب (URL) از نام Server ومسير فايل موجود بر روي آن تشکيل مي شود. هنگامي که از يک شرکت ميزبان استفاده مي کنيم ¸آن ها قسمتي از Server را براي شما اختصاص مي دهند و سايت شما نام آنرا به خود مي گيرد. اگر نخواهيم نام شرکت ميزبان نشان داده شود بايد يک نام Domain اجاره کنيد.بايد توجه داشته باشيد که داشتن نام Domain مخصوص¸ به کاربران شبکه امکان دسترسي سريع و آسان را فراهم مي کند.يکي ديگر از مزيت هاي Domain اين است که در هنگامي که ميزبان را تغيير مي دهيد¸ تمام صفحات با همان نام Domain قابيل دسترسي خواهند بود.
انتقال دادن فايل ها به Server
براي اينکه در شبکه¸فايل هاي طراحي شده را قرار دهيد بايد آنها را در سايت مورد نظرمان قرار دهيم.يکي از ساده ترين راه ها¸استفاده از برنامه FTP مي باشد.براي انتقال صفحات وب مي توان از نرم افزارDreamweaver استفاده کرد.
منبع : سايت علمی و پژوهشي آسمان -- صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 03 فروردین 1394 ساعت: 14:04 منتشر شده است
برچسب ها : تحقیق درباره طراحی سایت هتل,طراحی سایت هتل,