Ùهرست مندرجات
معرÙÙŠ پروژه 5
اهميت و کاربردها 5
اهدا٠پروژه 6
چکيده 7
مقدمه 8
مراØÙ„ پردازش اطلاعات يك ÙØ±Ù… HTML 9
معماري عمومي وب: 10
معماري سه لايه برنامه هاي كاربردي ØªØØª وب: 12
1)HTML 13
الÙ) PHP 16
* OpenSource بودن PHP 18
ب) Servlet : 18
ج) XML : 18
نرم Ø§ÙØ²Ø§Ø± Macromedia Dreamweaver MX: 20
منوي File: 20
منوي Edit: 21
منوي View: 22
منوي Insert: 23
منوي Text: 27
منوي Site: 29
منوي Window: 30
HTML 32
تگ هاي HTML 34
ايجاد Image 34
ايجاد Link 35
ايجاد Table 36
ايجاد List 37
ايجاد FRAME 37
ايجاد FORM 38
انواع ÙØ±Ù… ها : 38
CSS 39
JavaScript 45
اندکي در مورد تاريخچه JavaScript : 46
قابليت JavaScript : 47
Properties : 48
Methods : 48
کنترل وقايع ( handling events ): 49
تاريخچه PHP : 50
توانائيهاي PHP : 53
ثبات Ùˆ استØÙƒØ§Ù… Stability : 54
قابل اتصال بودن Connect ability : 55
مزيتهاي PHP : 56
MySQL 59
پايگاههاي داده 59
تاريخچه MYSQL : 63
ذخيره سازي داده ها : 64
متد هاي ارتباطي پايگاه داده : 66
پشتيبان ها : 66
انتقال داده : 67
1- دياگرام كلي سايت 69
2- دياگرام بازديدكنندگان معمولي 70
3- دياگرام مربوط به كاربر ( مشتري ) 72
4- دياگرام مربوط به مدير سايت 73
5- جريان انتقال اطلاعات در ØµÙØØ§Øª ديناميك 75
1- پايگاه داده ها 77
انواع بانك هاي اطلاعاتي شامل : 78
طراØÙŠ Ø¨Ø§Ù†Ùƒ اطلاعاتي 79
2- Ø´Ø±Ø ØµÙØØ§Øª استاتيك 82
1-2) Index html : 83
2-2)ØµÙØÙ‡ اصلي (main.htm) : 83
4-2)ØµÙØÙ‡ خدمات ( Services. Html ) 89
5-2)ØµÙØÙ‡ مشتريان ( Customers.html) 89
6-2 (ØµÙØÙ‡ تماس با ما ( Contact-us.html ): 92
3- Ø´Ø±Ø ØµÙØØ§Øª ديناميك 95
1-3) ØµÙØØ© Ù¾ÙŠØ´Ø±ÙØª كار (Progress.php) 96
2-3) ØµÙØÙ‡ اصلي مربوط به مدير سايت (Admin.php) 99
3-3) ØµÙØÙ‡ جستجوي كاربر (Search.php) 103
4-3)ØµÙØÙ‡ تغيير اطلاعات كاربر (modify.php) 107
5-3) ØµÙØÙ‡ ØØ°Ù كاربر (Delete.php) 111
4- ØªÙˆØ¶ÙŠØØ§Øª مربوط به ÙØ§ÙŠÙ„ هاي ØµØ±ÙØ§Ù‹ php Ùˆ جاوا اسكريپت : 111
1-4) ÙØ§ÙŠÙ„ check.php 111
2-4) ÙØ§ÙŠÙ„ Create.php 115
3-4) ÙØ§ÙŠÙ„ delete 2. Php 116
4-4) ÙØ§ÙŠÙ„ Modify 2. Php 117
5-4) ÙØ§ÙŠÙ„ Sendmail.php 118
6-4) ÙØ§ÙŠÙ„ Signout.php 119
7-4) ÙØ§ÙŠÙ„ Picfader.js 120
نتيجه گيري 122
منابع و مآخذ 123
معرÙÙŠ پروژه
با توجه به نياز Ø±ÙˆØ²Ø§ÙØ²ÙˆÙ†ØŒ به تکنيک هاي جديد برنامه نويسي ØªØØª وب، در صدد برآمديم تا به طراØÙŠ Ùˆ پياده سازي ÙŠÚ© سايت اينترنتي ديناميک بپردازيم .
قسمت هاي مختل٠اين پروژه را مي توان درچهار بخش کلي زير خلاصه کرد:
• ايجاد کاربر
• تغيير اطلاعات کاربر
• نمايش روند Ù¾ÙŠØ´Ø±ÙØª کار مربوط به کاربر
• ØµÙØØ§Øª مربوط به معرÙÙŠ توليدات Ùˆ ...
اهميت و کاربردها
مطمئناً Ù…ØÙŠØ· وب مکاني است Ú©Ù‡ Ø¨Ø±Ø§ØØªÙŠ Ù…ÙŠ توان به آن دسترسي پيدا کرد Ùˆ تعداد كاربراني كه هر روزه به اينترنت مي پيوندد در ØØ§Ù„ Ø§ÙØ²Ø§ÙŠØ´ است پس طراØÙŠ Ø§ÙŠÙ†Ú¯ÙˆÙ†Ù‡ سايتها امري لازم Ùˆ ضروري بنظر مي رسد .
ÙŠÚ©ÙŠ از معيارهاي برتري سيستم هاي کامپيوتري اين است Ú©Ù‡ تا Ú†Ù‡ ØØ¯ÙŠ user friendly هستند. سعي ما بر آن بوده است Ú©Ù‡ در پروسه طراØÙŠ Ø§ÙŠÙ† سيستم ØØªÙŠ Ø§Ù„Ø§Ù…Ú©Ø§Ù† کمترين اطلاعات از کاربر درخواست شود Ùˆ سيستم تا جايي Ú©Ù‡ مقدور است خود مسئوليت جمع آوري اطلاعات را بر عهده داشته باشد.
در چنين شرايطي مطمئناً هم کاربران براي Ø§Ø³ØªÙØ§Ø¯Ù‡ از سيستم با سهولت Ùˆ Ø±Ø§ØØªÙŠ Ú©Ø§Ø± روبرو بوده Ùˆ هم ميزان خطا تا ØØ¯ قابل توجهي کاهش مي يابد. بعنوان مثال وقتي Ú©Ù‡ ÙŠÚ© كاربر به اين سيستم login مي کند براي بالا Ø±ÙØªÙ† سرعت Ùˆ به منظور جلوگيري از اتلا٠وقت کاربر، از امکانات برنامه نويسي Client SideØŒ براي Ú†Ú© کردن ØµØØª نام کاربري Ùˆ رمز عبور Ø§Ø³ØªÙØ§Ø¯Ù‡ کرده، Ùˆ سپس تست وجود چنين کاربري در پايگاه داده، قسمت سرور صورت مي گيرد. اين کار باعث Ø§ÙØ²Ø§ÙŠØ´ سرعت Ùˆ امنيت مي گردد.
اهدا٠پروژه
اهدا٠اين پروژه را مي توان در ابعاد زير دسته بندي کرد:
• تسهيل سلسله مراتب Ùˆ پروسه انجام کار
• بکارگيري قدرت زبان برنامه نويسي پوياي PHP Ùˆ پايگاه داده MySQL
• سهولت Ø§Ø³ØªÙØ§Ø¯Ù‡ از امكانات اينترنتي
چکيده
در اين پروژه Ú©Ù‡ طراØÙŠ ÙŠÚ© سايت Ø³ÙØ§Ø±Ø´ Ù…ØØµÙˆÙ„ توسط کاربر Ú©Ù‡ مربوط به شرکت ابزاربندي خراسان است. شامل امکاناتي نظيرايجاد کاربر توسط AdminØŒ ارسال مطلب Ùˆ برقراري ارتباط با Admin Ùˆ پيگيري Ù¾ÙŠØ´Ø±ÙØª کار توسط کاربر مي باشد، سعي ما بر اين بوده است Ú©Ù‡ بر پايه برنامه نويسي وب پويا با Ø§Ø³ØªÙØ§Ø¯Ù‡ از زبان اسکريپتي PHP Ùˆ زبان هاي کلاينت سايد JavaScript Ùˆ CSSØŒ سيستمي طراØÙŠ Ú©Ù†ÙŠÙ… Ú©Ù‡ کاربر از راه دور بتواند Ù…ØØµÙˆÙ„ÙŠ را Ø³ÙØ§Ø±Ø´ Ùˆ Ù¾ÙŠØ´Ø±ÙØª آن را پيگيري نمايد. با توجه به اين Ù‡Ø¯ÙØŒ امکاناتي را براي مديريت سايت ايجاد نموديم تا Admin بتواند کاربري را ايجاد Ùˆ اطلاعات آن را ويرايش نمايد.
در همين راستا از ابزارهايي نظير :
PHP V5.0.0, PHP MyAdmin 4, MySQL, Adobe Photo Shop CSII, DreamWeaver MX 2004, ImageReady
در امر طراØÙŠ Ùˆ پياده سازي پروژه بهره جسته ايم.
مقدمه
در آغاز وب يك رسانه ايستا بود وشکل آن مثل ÙŠÚ© کتاب الکترونيکي بود. سايت هاي وب وقتي Ú©Ù‡ ساخته شدند به مدت چندين ماه تغيير نمي کردند. با رشد وب به قوت هاي آن نيز پي برده شد. به اين ترتيب وب از ØØ§Ù„ت يکنواخت وايستا درآمد بطوري Ú©Ù‡ ظاهر Ùˆ Ù…ØØªÙˆÙŠØ§Øª آن زودتر تغيير مي کرد ويک بازي يا ÙŠÚ© پردازنده در وب در هر بار Ú©Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ مي شد تغيير مي کند.
در واقع ايجاد سايت هاي پويا براي کسانيکه از اينترنت Ø§Ø³ØªÙØ§Ø¯Ù‡ مي کنند الزامي است در غير اين صورت سايت هاي او به عنوان ÙŠÚ© شهر متروکه Ù…ØØ³ÙˆØ¨ خواهد شد در گوشه اي از ديسک سخت ÙØ³ÙŠÙ„ شده.
بعضي از ويژگي هاي پويايي که مخاطبين اينترنت به آنها علاقمندند عبارتند از:
• ØØ³Ø§Ø³ÙŠØª به زمان به جاي Ù…ØØªÙˆÙŠØ§Øª دائره المعارÙÙŠ
• تغيير Ù…ØØªÙˆÙŠØ§Øª وسبک طراØÙŠ
• سازگاري با نسلهاي جديد سخت Ø§ÙØ²Ø§Ø± نرم Ø§ÙØ²Ø§Ø± واستاندارهاي تØÙˆÙŠÙ„ اطلاعات
• پشتيباني از ارتباط با مخاطبين سايت
• مديريت موثر براي Ø§ÙØ²Ø§ÙŠØ´ Ú©ÙŠÙيت اطلاعات
به هر ØØ§Ù„ سالانه هزاران سايت وب به دليل کهنه شدن از دور خارج مي شوند Ú©Ù‡ براي همين سايت هايي Ú©Ù‡ از دور خارج مي شوند هزينه هاي زيادي مصر٠شده است.
در سال 1997 ØØ¯ÙˆØ¯ هزار سايت وب از رده خارج شده Ùˆ در سال 1998 تقريباً 2000 سايت از دور خارج گرديد.اصولا سايت هاي پوياي موÙÙ‚ در ص٠مقدم تØÙˆÙŠÙ„ Ù…ØØ§ÙˆØ±Ù‡ اي قراردارند .
اينترنت شبکه اي از شبکه هاي مرتبط به يکديگر بوده Ú©Ù‡ بر روي آن سرويس هاي متعددي بمنظور ارائه خدمات ÙØ¹Ø§Ù„ مي باشند. بدون Ø´Ú© سرويس وب ÙŠÚ©ÙŠ از مهمترين سرويس هاي موجود بر روي اينترنت است Ú©Ù‡ بيشترين تاثير را در عموميت ÙŠØ§ÙØªÙ† اينترنت در Ø³Ø·Ø Ø¬ÙˆØ§Ù…Ø¹ بشري برعهده داشته است. وب در نگاه اول مانند ÙŠÚ© سيستم اطلاعاتي توزيع شده است . در سيستم Ùوق اطلاعات ( با اشکال Ù…ØªÙØ§ÙˆØª ) بر اساس استانداردهاي مربوطه Ùˆ با ÙŠÚ© ساختار مشخص قرار Ú¯Ø±ÙØªÙ‡ Ùˆ با Ø§Ø³ØªÙØ§Ø¯Ù‡ از ارتباطات تعري٠شده بين اطلاعات مي توان بسرعت Ùˆ بسادگي از اطلاعات موجود Ø§Ø³ØªÙØ§Ø¯Ù‡ کرد. ارائه دهندگان اطلاعات با پيروي از اصول موجود اطلاعات خود را در سيستم Ùوق قرار داده Ùˆ جستجو کنندگان اطلاعات با Ø§Ø³ØªÙØ§Ø¯Ù‡ از ابزارهائي خاص قادر به جستجو Ùˆ دستيابي به اين اطلاعات خواهند شد. وب در سال 1991 توسط " تيم - برنرز لي " ابداع گرديد.
مراØÙ„ پردازش اطلاعات يك ÙØ±Ù… HTML
* اطلاعات موجود در وب در ØØ±ÙŠÙ… هاي اطلاعاتي با نام " ØµÙØØ§Øª وب " ذخيره مي گردند. اندازه ونوع Ù…ØØªÙˆÙŠØ§Øª اين نوع ØµÙØØ§Øª کاملا" متغير بوده Ùˆ نمي بايست در اين راستا ÙŠÚ© ØµÙØÙ‡ وب را با ÙŠÚ© ØµÙØÙ‡ کتاب مقايسه کرد گرچه شباهت هاي اندکي نيز بين آنها وجود داشته باشد.
* Ù…ØØªÙˆÙŠØ§Øª ÙŠÚ© ØµÙØÙ‡ وب مي تواند، متن گراÙÙŠÚ© صدا تصوير انيميشن Ùˆ ... باشد. گستردگي Ùˆ تنوع نوع اطلاعاتي Ú©Ù‡ مي توان در ØµÙØØ§Øª وب قرار داد ÙŠÚ©ÙŠ از مهمترين ويژگي هاي قابل توجه وب از ديدگاه ارائه دهندگان اطلاعات از ÙŠÚ© طر٠و Ø§Ø³ØªÙØ§Ø¯Ù‡ کنندگان از اطلاعات از طر٠ديگر مي باشد.
* ØµÙØØ§Øª وب از Ù„ØØ§Ø¸ Ùيزيکي ÙØ§ÙŠÙ„ هايي هستند Ú©Ù‡ توسط نرم Ø§ÙØ²Ø§Ø±Ù‡Ø§ÙŠ Ù…Ø±Ø¨ÙˆØ·Ù‡ بوجود آمده Ùˆ داراي انشعاب "htm" Ùˆ يا "html" مي باشند. براي ايجاد اين نوع ØµÙØØ§Øª مي توان از تمام نرم Ø§ÙØ²Ø§Ø±Ù‡Ø§Ø¦ÙŠ Ú©Ù‡ بنوعي قادر به ايجاد Ùˆ ذخيره سازي ÙŠÚ© ÙØ§ÙŠÙ„ هستند Ø§Ø³ØªÙØ§Ø¯Ù‡ کرد. ( Notepad نمونه اي از اين نوع نرم Ø§ÙØ²Ø§Ø±Ù‡Ø§ است ). امروزه نرم Ø§ÙØ²Ø§Ø±Ù‡Ø§ÙŠ Ú©Ø§Ù…Ù„Ø§" ØØ±ÙÙ‡ اي براي ايجاد Ùˆ مديريت ØµÙØØ§Øª وب توسط شرکت هاي نرم Ø§ÙØ²Ø§Ø±ÙŠ Ø§ÙŠØ¬Ø§Ø¯ شده است . FrontPage ,Hotmetal,... نمونه هائي در اين زمينه مي باشند.
* پس از ايجاد ØµÙØØ§Øª وب در صورت نياز Ùˆ Ø§Ø³ØªÙØ§Ø¯Ù‡ عموم ( داخلي ØŒ خارجي ) مي بايست آنها را بر روي ÙŠÚ© سايت ذخيره نمود. ÙŠÚ© وب سايت مجموعه اي از ØµÙØØ§Øª وب را شامل مي گردد.
* ارائه دهندگان اطلاعات پس از آماده سازي ØµÙØØ§Øª وب Ùˆ استقرار آنها بر روي ÙŠÚ© وب سايت زمينه Ø§Ø³ØªÙØ§Ø¯Ù‡ از اطلاعات Ùوق را براي Ø§Ø³ØªÙØ§Ø¯Ù‡ کنندگان ÙØ±Ø§Ù‡Ù… مي نمايند. Ø§Ø³ØªÙØ§Ø¯Ù‡ کنندگان با Ø§Ø³ØªÙØ§Ø¯Ù‡ از نرم Ø§ÙØ²Ø§Ø±Ù‡Ø§Ø¦ÙŠ Ù…ÙˆØ³ÙˆÙ… به " مرورگر " قادر به دستيابي به ÙŠÚ© وب سايت Ùˆ درخواست اطلاعات مورد نياز خود مي باشند.
* تمام ØµÙØØ§Øª وب داراي مجموعه دستورالعمل هائي هستند Ú©Ù‡ Ù†ØÙˆÙ‡ نمايش اطلاعات مورد نظر را مشخص خواهد کرد. رايج ترين مجموعه دستورالعمل هاي نمايش در ØµÙØØ§Øª وب تگ هاي Html مي باشند.
معماري عمومي وب:
براي ØªØ´Ø±ÙŠØ Ø¨Ù‡ØªØ± برنامه هاي كاربردي ØªØØª وب (Web based applications) مدرن Ùˆ امروزي، معمولا آنها را به 4 لايه مستقل تقسيم مي كنند. لايه مشتري يا ClientØŒ لايه هاي مياني كه عبارتند از presentation Ùˆ Business Ùˆ در نهايت آخرين لايه كه عبارت است از لايه داده يا Database. معمولا لايه هاي مياني در يك لايه مجتمع شده Ùˆ در نتيجه يك مدل ساده شده 3 لايه اي به دست مي دهند.
لايه مشتري يا Client بخشي از اين معماري است كه توسط كاربر وب مشاهده مي شود. بقيه لايه ها بر روي كامپيوترهايي قرار دارند كه ممكن است صدها كيلومتر از مشتري ÙØ§ØµÙ„Ù‡ داشته باشند. لايه مشتري در اين مدل همان مرورگر وب است كه بر روي كامپيوتر كاربر ØµÙØØ§Øª وب را نمايش مي دهد. در اين لايه علاوه بر امكان نمايش اطلاعات، امكان ورود Ùˆ برخي پردازشهاي اطلاعاتي نيز وجود دارد.
معمولا دو گونه پياده سازي از لايه مشتري وجود دارد. در روش اول از هوشمند بودن كامپيوتر كاربر Ùˆ قابليتهاي پردازشي آن Ø§Ø³ØªÙØ§Ø¯Ù‡ اي نمي شود. هنگامي كه كاربر اطلاعات يك ÙØ±Ù… را تكميل مي كند Ùˆ يا درخواست ØµÙØÙ‡ خاصي را دارد، كليه عملياتهاي پردازشي در لايه هاي مياني انجام مي گيرد Ùˆ ØµÙØÙ‡ هاي جديدي كه ØØ§ÙˆÙŠ Ù†ØªØ§ÙŠØ¬ اين پردازشها هستند براي او ارسال مي گردند. اين روش را Ø§ØµØ·Ù„Ø§ØØ§Ù‹ Dump HTML Client مي نامند.
اما در روش دوم از هوشمندي كامپيوتر كاربر به خوبي Ø§Ø³ØªÙØ§Ø¯Ù‡ مي شود. در اين روش برخي پردازشهاي خاص توسط كامپيوتر مشتري Ùˆ مرورگر موجود بر روي آن صورت مي گيرد. در اين ØØ§Ù„ت كامپيوتر مشتري را Semi Intelligent Client مي نامند. براي انجام اين پردازشها معمولا از زبانهاي اسكريپت نويسي نظير vbscript Ùˆ يا javascript Ø§Ø³ØªÙØ§Ø¯Ù‡ مي شود. توانايي مرورگها در اينجا اهميت مي يابد.
معماري سه لايه برنامه هاي كاربردي ØªØØª وب:
لايه presentation وظيÙÙ‡ ارائه Ù…ØØªÙˆÙŠØ§Øª ديناميك ØµÙØØ§Øª وب را بر عهده دارد. روشهاي پياده سازي اين عمليات بر روي كامپيوترها (web server) متنوع است. تكنولوژيهاي مختل٠نظير CGI, PHP, ASP, JSP, Servlet, .... لايه presentation معمولا درون برنامه هاي وب سرور نظير Apache web server Ùˆ يا Microsoft IISÙˆ ... پياده سازي مي شود. وب سرورها توانايي Ø¯Ø±ÙŠØ§ÙØª Ùˆ اجراي چندين درخواست از سوي برنامه هاي كاربردي لايه هاي ديگر Ùˆ همچنين كاربران را به طور همزمان دارند. اين نرم Ø§ÙØ²Ø§Ø±Ù‡Ø§ بر اساس يك پيكربندي اوليه مي دانند كه درخواستهاي كاربر را بايد به كدام برنامه كاربردي ارجاع دهند.
لايه Business بيشترين ØØ¬Ù… عمليات يك سايت مدرن امروزي را انجام مي دهد. عملياتهاي نظير مديريت نشستها، مديريت دستيابي به بانكهاي اطلاعاتي Ùˆ... از جمله اين عملياتها هستند. روشهاي گوناگوني براي پياده سازي اين لايه وجود دارد نظير Ø§Ø³ØªÙØ§Ø¯Ù‡ از اشياي COM متعلق به شركت Ù…Ø§ÙŠÙƒØ±ÙˆØ³Ø§ÙØª Ùˆ يا Ø§Ø³ØªÙØ§Ø¯Ù‡ از متناظرهاي آن متعلق به شركت SUN. راه ØÙ„هاي قديمي نيز براي پياده سازي اين لايه وجود دارد نظير Ø§Ø³ØªÙØ§Ø¯Ù‡ از CORBA Objects. برنامه هاي لايه Business معمولا درون برنامه هايي موسوم به Application Server پياده سازي مي شوند نظير Microsoft MTS, Oracle Application Server لايه Database يا لايه داده مسئول نگهداري اطلاعات است Ùˆ مي تواند شامل مجموعه اي از اطلاعات به صورت بانكهاي اطلاعاتي مدرن يا ÙØ§ÙŠÙ„هاي ساده Ùˆ ... باشد. تكنولوژيهاي مختل٠طراØÙŠ Ø§Ø³Ù†Ø§Ø¯ وب در ØØ§Ù„ت كلي سايتهاي اينترنتي را مي توان به دوگروه ثابت (static) Ùˆ پويا (dynamic) تقسيم كرد. براي طراØÙŠ Ù‡Ø± كدام نيز ابزارهاي مختلÙÙŠ وجود دارد.
مراØÙ„ پردازش درخواست سرويس گيرنده توسط سايت با ساختار ثابت در سايتهاي با ساختار ثابت همانگونه كه قبلا نيز Ú¯ÙØªÙŠÙ…ØŒ Ù…ØØªÙˆÙŠØ§Øª به صورت يك سري ØµÙØØ§Øª وب HTML طراØÙŠ Ùˆ روي سايت قرار مي گيرند. با هر درخواست براي يك ØµÙØÙ‡ مشخص، ØµÙØÙ‡ موردنظر براي سرويس گيرنده ارسال مي شود اما در سايتهاي با ساختار پويا با هر درخواست سرويس گيرنده بر روي سرويس دهنده پردازشي به منظور ساخت ØµÙØÙ‡ مورد نظر صورت مي گيرد Ùˆ نتيجه پردازش به صورت يك ØµÙØÙ‡ ØØ§ÙˆÙŠ ÙƒØ¯Ù‡Ø§ÙŠ HTML براي سرويس گيرنده ارسال مي شود.
آنچه كه براي سرويس گيرنده ارسال مي شود چيزي جز ØµÙØÙ‡ ØØ§ÙˆÙŠ ØªÚ¯Ù‡Ø§ÙŠ HTML نيست. در ميان تكنولوژيهاي مختلÙÙŠ كه وجود دارد مهمترين ها Ùˆ Ù¾Ø±Ø§Ø³ØªÙØ§Ø¯Ù‡ ترين تكنولوژيها به Ø´Ø±Ø Ø²ÙŠØ± هستند:
1)HTML
اين تكنولوژي ساده ترين ÙØ±Ù… انتشار اسناد در وب است. در اين تكنولوژي ØµÙØØ§Øª يك وب سايت به صورت ايستا كدگذاري شده Ùˆ سپس انتشار مي يابند. اين روشي است Ú©Ù‡ در بسياري از وب سايتهاي شخصي Ú©Ù‡ در ابتداي پيدايش وب ساخته شده اند بکار Ø±ÙØªÙ‡ است. در اينجا توليد کننده با دانستن html Ùˆ يا با Ø§Ø³ØªÙØ§Ø¯Ù‡ از ابزاري Ú©Ù‡ چنين کدهايي را توليد مي کنند، ØµÙØØ§Øª خود را مي سازد. براي ÙŠÚ© وب سايت ساده با تعداد Ù…ØØ¯ÙˆØ¯ÙŠ Ø§Ø² ØµÙØØ§Øª ايستا شايد اين ÙŠÚ© روش قابل قبول باشداز مزاياي اين تكنولوژي مي توان به سادگي Ùˆ عدم نياز به برنامه نويسي Ùˆ آشنايي با زبان خاص كدنويسي اشاره كرد. علاوه بر اين پشتيباني گسترده اين روش توسط نرم Ø§ÙØ²Ø§Ø±Ù‡Ø§ÙŠÙŠ ÙƒÙ‡ قادر به توليد اينگونه ØµÙØØ§Øª از طريق تكنيكهاي Visual هستند نيز از ديگر مزيتهاي اين روش Ù…ØØ³ÙˆØ¨ مي گردد. اسنادي كه به اين روش توليد مي گردند معمولا از سرعت بارگذاري خوبي برخوردار هستند (به دليل عدم نياز به انجام پردازش در سمت Server). اما عليرغم تمامي ويژگيهاي ذكر شده اين روش مشكلاتي نيز دارد.
نخست اينكه اين شيوه قادر به توليد ØµÙØØ§Øª ديناميك نيست. ديگر اينكه با تركيب Ù…ØØªÙˆØ§ (content) Ùˆ قالب (Style) باعث بروز مشكل در ايجاد تغييرات در ØµÙØØ§Øª مي گردد. به بيان معادل، هزينه ايجاد Ùˆ اعمال تغييرات در ØµÙØØ§Øª بالاست.
به همراه اين تكنولوژي ابزارهاي ديگري براي برنامه سازي Client-Side نيز وجود دارد. برخي از اين ابزارها كه بيشتر مورد Ø§Ø³ØªÙØ§Ø¯Ù‡ قرار مي گيرند عبارتند از Java ScriptØŒ VBScript. البته به كمك تلÙيق اين تكنولوژي با زبانهاي اسكريپت نويسي مذكور Ùˆ نيز Ø§Ø³ØªÙØ§Ø¯Ù‡ از Ù…ÙØ§Ù‡ÙŠÙ… CSS مي توان ØµÙØØ§ØªÙŠ طراØÙŠ ÙƒØ±Ø¯ كه Ù…ØØªÙˆÙŠØ§Øª ديناميك داشته باشند ليكن اين قدرت به Client Ù…ØØ¯ÙˆØ¯ مي گردد Ùˆ علاوه بر آن مشكل تركيب Ù…ØØªÙˆØ§ Ùˆ قالب همچنان پابرجاست.
2) تكنولوژي CGI (تكنولوژي مرتبط با طر٠سرويس دهنده) يك برنامه CGI بوسيله سرويس دهنده وب در پاسخ به درخواست ايجاد شده توسط مرورگر وب، اجرا مي شود. سرويس دهنده وب به عنوان واسط ميان مرورگر Ùˆ برنامه CGIØŒ درخواست مرورگر را به برنامه Ùˆ خروجي برنامه CGI را براي پردازش به مرورگر وب ارسال مي كند. براي مثال ممكن است برنامهاي نقطه نظرات كاربر را Ø¯Ø±ÙŠØ§ÙØª نموده Ùˆ آن را به شكل يك پيام الكترونيكي براي مسئول سايت ارسال كند. تقريباً هرنوع زبان برنامه نويسي را مي توان براي نوشتن يك برنامه CGI بكار برد. CGI واسط تعري٠شده مابين سرويس دهنده وب Ùˆ برنامه خارجي است كه مايليد آن را بنويسيد.
ØØ§Ù„ سوال اين است كه يك برنامه CGI Ú†Ù‡ كاري نمي تواند انجام دهد. اين برنامه نمي تواند به طور مستقيم با كاربر ارتباط برقرار كند. همچنين نمي تواند اطلاعات را از خط اعلان، منوها يا ساير بخشهاي تعاملي Ø¯Ø±ÙŠØ§ÙØª يا نمايش دهد. اين برنامه ها تصاوير گراÙيكي را نيز نمايش نمي دهند؛ اگر Ú†Ù‡ مي توانند داده هاي باينري ØŒ كه در ØÙ‚يقت تصوير هستند را توليد كنند، اما هيچ نوع واسط گراÙيكي براي ارتباط با كاربر در اختيار برنامه ساز نمي گذارند.
يك برنامه CGI براي عملكرد صØÙŠØ Ùˆ مناسب نيازمند شرايط زير است:
1- برنامه با وارد كردن نام آن در خط ÙØ±Ù…ان (Command Line) قابل اجرا باشد.
2- برنامه بايد يك سرآيند (Header) مناسب Ùˆ معتبر از نوع Ù…ØØªÙˆÙŠØ§Øª (Content) توليد كند. Ù…ØØªÙˆÙŠØ§Øª خروجي يك برنامه CGI ميتواند كد HTMLØŒ تصاوير GIFØŒ ÙØ§ÙŠÙ„هاي متني، مستندات Ù…Ø§ÙŠÙƒØ±ÙˆØ³Ø§ÙØª Word Ùˆ يا ÙØ§ÙŠÙ„هاي صوتي باشد. سرآيند نوع Ù…ØØªÙˆÙŠØ§Øª كه توسط برنامه CGI توليد مي شود، نوع Ù…ØØªÙˆÙŠØ§Øª بازگشتي را مشخص مي كند Ùˆ مرورگر مي تواند عمليات مناسب را بر اساس آن انجام دهد.
ماداميكه يك برنامه توسط سرويس دهنده وب قابل اجرا باشد و اين برنامه خروجي معتبري نيز توليد كند، كاربرد آن به عنوان يك برنامه CGI قابل قبول است.
3- تكنولوژيهاي مرتبط با طر٠سرويس دهنده: ASP,PHP,JSP اين سه نمونه از Ù…Ø¹Ø±ÙˆÙØªØ±ÙŠÙ† تكنولوژي هايي است كه در انتشار ØµÙØØ§Øª وب ديناميك در طر٠سرويس دهنده به كار Ú¯Ø±ÙØªÙ‡ مي شوند. جداي از اختلا٠هاي موجود ميان آنها، هر سه امكاناتي را براي اجراي يك برنامه در Server Ùˆ توليد خروجي HTML به صورت ديناميك ÙØ±Ø§Ù‡Ù… مي كنند. در اين تكنولوژيها كد برنامه Ùˆ كدهاي HTML با هم تركيب مي شوند.
توليد ديناميك ØµÙØØ§Øª وب Ùˆ برنامه نويسي به ÙØ±Ù… Scripting از مزاياي اين تكنولوژيها به صورت عام مي باشند. اما در نهايت تركيب Ù…ØØªÙˆØ§ (Content)ØŒ قالب بندي (Format) Ùˆ منطق برنامه(Logic) پيچيدگي بيشتري را نسبت به HTML سبب مي گردند.
الÙ) PHP
PHP مخÙÙ Hypertext Preprocessor يك زبان Scripting Ùˆ Server-Side مي باشد. يك Script به كدي از برنامه مي گويند كه بصورت ابتدايي Compile نمي شود Ùˆ Ùقط در صورت ÙØ±Ø§Ø®ÙˆØ§Ù†ÙŠ Ùˆ يا درخواستي براي اجرا توسط Ù…ÙØ³Ù‘ر زبان مورد نظر ترجمه مي شود Ùˆ به خروجي ÙØ±Ø³ØªØ§Ø¯Ù‡ مي شود. اين به اين معني ميباشد كه شما دقيقاً كد برنامه خود را در جاي مورد نياز به كار مي بريد Ùˆ رابط اجرايي برنامه آنرا به Ù…ÙØ³Ù‘ر مورد نظر ارجاع مي دهد.
بعد از نصب Ù…ÙØ³Ù‘ر PHP شما قادر خواهيد بود كه از كدهاي PHP به همراه كدهاي HTML خود در ØµÙØØ§Øª Web Ø§Ø³ØªÙØ§Ø¯Ù‡ كنيد Ùˆ همچنين مي توانيد Script هاي ØµØ±ÙØ§Ù‹ PHP خود را به عنوان ترمينالهاي ØªÙØ³ÙŠØ± كننده داده ها Ùˆ رابطهاي ورودي Ùˆ خروجي بر روي سرور خود قرار دهيد چگونگي پردازش درخواستهاي وب با/بدون PHP خطوط قرمز رنگ ØØ§Ù„ت استاتيك سايت Ùˆ خطوط آبي رنگ پردازشهاي اضاÙÙŠ مورد نياز در ØØ§Ù„ت ديناميك را نشان مي دهند Ùكر اوليه PHP در پاييز سال 1994 توسط Rasmus Lerdorf ) (rasmus@php.net شكل Ú¯Ø±ÙØª. در ابتدا نگارشي از PHP در ØµÙØÙ‡ شخصي وي به كار Ú¯Ø±ÙØªÙ‡ شد ØŒ تا اطلاعاتي از كساني كه روزانه وي را مي بينند ØŒ نگاه داشته شود. اولين نگارش عمومي آن در اوايل سال 95 ارايه شد با نام ” Personal Home Page Tools “ معرÙÙŠ گرديد . كه البته شامل پارسري بسيار ساده بود كه ماكروهاي خاصي را مي شناخت Ùˆ نيز برخي كاربردهاي مشترك در ØµÙØØ§Øª شخصـي مانند شمـارنده يا Guestbook Ùˆ برخـي ابزار هاي ديگر را شامل مي شد.
پارســر در نيمــه سال 95 بازنويســي شد Ùˆ با نـــام “ PHP/FI نگارش 2 “ ارايه گرديد . FI نام بسـته نرم Ø§ÙØ²Ø§Ø±ÙŠ Ø¯ÙŠÚ¯Ø±ÙŠ از Rasmus بود كه ÙØ±Ù… هاي داده HTML را ØªÙØ³ÙŠØ± مي كرد. پس از آن بسياري از PHP در كــد هاي خود Ø§Ø³ØªÙØ§Ø¯Ù‡ كردند. در ميانه سال 96 ميزان Ø§Ø³ØªÙ€Ù€ÙØ§Ø¯Ù‡ كنندگان به ØÙ€Ù€Ù€Ø¯ÙˆØ¯ 15 هـزار سايت رسيد. اين ميــزان در نيمه سال 97 در ØØ¯ÙˆØ¯ 50 هزار سايت مختل٠بود. در هـمين زمان PHP از ØØ§Ù„ت يك پروژه شخصي درآمد Ùˆ توســط تيمي توسـعه ÙŠØ§ÙØª. اين گروه نگارش جديدي از PHP را ارايه دادند Ùˆ پارسر آن را بازنويسي نمودند. PHP3 به سرعت مورد Ø§Ø³ØªÙØ§Ø¯Ù‡ قرار گرÙـت. هم اكنـون نيز PHP4 آخرين نگارش اين Ù…ØØµÙˆÙ„ است كه در آن از موتور اسكريپت Zend براي بدست آوردن قابليت هاي بيشتر Ø§Ø³ØªÙØ§Ø¯Ù‡ شده است .
امروزه ØŒ PHP3 Ùˆ PHP4 بر روي بسياري از Ù…ØØµÙˆÙ„ات تجاري مانند “ RedHat’s Stronghold web Server ” ارايه مي گردد. هم اكنون برآورد مي شود بيش 5.100.000 سايت از PHPدر طراØÙŠ Ø§Ø³ØªÙØ§Ø¯Ù‡ كرده اند.
دلايل زيادي در Ù…ØØ¨ÙˆØ¨ÙŠØª Ùˆ Ø§Ø³ØªÙØ§Ø¯Ù‡ از اين زبان در ØØ§Ù„ ØØ§Ø¶Ø± وجو دارد برخي از اين دلايل عبارتند از: * سرعت : در مقايسه با تكنولوژي نظير ASP به دليل عدم Ø§Ø³ØªÙØ§Ø¯Ù‡ PHP از Engine هاي مختل٠و Ù…ØªÙØ§ÙˆØª كدهاي PHP از سرعت بالايي برخوردارند.
* نزديك بودن Syntax به ++C/C Ùˆ Java :از آنجاﺋيكه اكثر برنامه نويسان از ++C/C Ø§Ø³ØªÙØ§Ø¯Ù‡ كرده اند Ùˆ بخاطر Ù…ØØ¨ÙˆØ¨ بودن بي ØØ¯ Java معمولا با Syntax هاي اين دو زبان اكثرا آشنا هستند . PHP هم اكثر Syntax هاي خود را شبيه به اين زبانها انتخاب كرده است.
* OpenSource بودن PHP
* اجرا بر روي Platform هاي مختل٠: به دليل آنكه توسط GNU C Compiler در همه Platform ها قابل Compile شدن است Ùˆ از Engine هاي خاص هيچ سيستم عاملي براي اجراي كدها Ø§Ø³ØªÙØ§Ø¯Ù‡ نمي كند قابليت اجرا بر روي تعداد زيادي از سيستم عامل ها را داراست كه اين يك مزيت براي توسعه دهندگان سيستم Ù…ØØ³ÙˆØ¨ مي شود .
ب) Servlet :
يك كلاس در زبان جاوا است كه در سرويس دهنده اجرا مي شود. در اين كلاس از دستورات Printh براي توليد يك خروجي HTML Ø§Ø³ØªÙØ§Ø¯Ù‡ مي شود. توليد ديناميك ØµÙØØ§Øª وب از مزيتهاي اين روش است اما پيچيدگي توليد كدهاي HTML به كمك دستورات Printh Ùˆ در ØÙ‚يقت تركيب Ù…ØØªÙˆØ§ قالب Ùˆ منطق باز هم از معضلات اين روش Ù…ØØ³ÙˆØ¨ مي گردد
امروزه نقطه تمركز بسياري از تلاشها جداسازي سه عنصر Ù…ØØªÙˆØ§ØŒ قالب Ùˆ منطق برنامه از يكديگر در طراØÙŠÙ‡Ø§ÙŠ Ù…Ø¨ØªÙ†ÙŠ بر وب است. XML به عنوان يكي از اجزا بسياري از اين تكنولوژيها Ù…Ø·Ø±Ø Ø§Ø³Øª.
ج) XML :
ÙŠÚ© markup language است Ú©Ù‡ در آن مي توان از متون Ùˆ Tagها براي ارايه ÙŠÚ© سند Ø§Ø³ØªÙØ§Ø¯Ù‡ نمود. برخلا٠html Ú©Ù‡ داراي Tagهاي ثابت Ùˆ استانداردي است، در xml مي توان Tagهاي دلخواه را Ø§Ø³ØªÙØ§Ø¯Ù‡ نمود. همچنين در اينجا هر Tag بايستي با ÙŠÚ© Tag متناظر بسته شود. به همين خاطر xml ÙŠÚ© ÙØ±Ù… خوش ساخت دارد.
امروزه Ø§Ø³ØªÙØ§Ø¯Ù‡ از xml بسيار متداول Ùˆ متنوع است. در هر ØØ§Ù„ بيشترين Ø§Ø³ØªÙØ§Ø¯Ù‡ از آن در يکپارچه سازي سيستم ها Ùˆ خصوصا در توليد سيستم هاي کاربردي مبتني بر وب است.
|