Ùهرست مندرجات
معرÙÙŠ پروژه 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 بسيار متداول Ùˆ متنوع است. در هر Øال بيشترين استÙاده از آن در يکپارچه سازي سيستم ها Ùˆ خصوصا در توليد سيستم هاي کاربردي مبتني بر وب است.
|