PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf ·...

30
ی صفحات وبمل طراح مرجع کاPHP, MySQL , JavaScript , CSS ویسنده نRobin Nixon ترجم مآبادیخی شیدیونس جمشی ی

Transcript of PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf ·...

Page 1: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

مرجع کامل طراحی صفحات وب PHP, MySQL , JavaScript , CSS

نویسنده

Robin Nixonمترجم

یونس‌جمشیدی‌شیخی‌آبادی

Page 2: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ
Page 3: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

»سپس،‌به‌کاتبان‌و‌نویسندگانت‌بنگر‌و‌بهترین‌آنها‌را‌بر‌کارهای‌خود‌بگمار...کاتبان‌و‌نویس�ندگانی‌برگزین‌که‌قدر‌خود‌را‌بشناس�ند،‌چون‌کس�ی‌که‌به‌قدر‌خود‌ش�ناخت‌

»گرفته‌شده‌از‌نامه‌ی‌‌53نهج‌البالغه‌به‌مالک‌اشتر«ندارد،‌دیگران‌را‌هم‌نمی‌شناسد.«

اگرچه نوشتن و پرداختن زکات علم از توصیه های اکید بزرگان و گواه بر کرامت اهل دانش است؛ اما امروزه پرداختن به انگیزه ها و اهداف نوش��تن بیشتر جلوه می کند. بی شک، اینکه چه کسی می نویسد

مهم نیست؛ اما اینکه چرا و به چه پشتوانه ای می نویسد، درخور تأمل است. م��ا معتقدیم که چاپ روزاف��زون کتاب های به اصطالح »زرد« که خال��ی از هرگونه نوآوری و بی توجه به اس��تانداردهای چاپ کتاب و نیازهای مخاطبان اس��ت، حاصل تفکر بازاری حاکم بر جامعه ی نش��ر اس��ت. بی تردید عنوان پر زرق و برق، دس��تاویز قرار دادن مضمون های نو با هدف فروش باال و طویل کردن س��یاهه ی س��ابقه ی علمی، نمی تواند دلیل محکمی برای چاپ و نشر کتابی باش��د که خواننده ی مشتاق با صرف هزینه های نه چندان کم آن را تهیه می کند؛ به امید آنکه چیزی

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

بسنده نمی کند.و چقدر امروزه، فرهنگ و دانش این مرز و بوم که گرفتار آفت بی انگیزگی و زخم هوس است، نیازمند ناشران و نویسندگانی است که نیت شان کمک به رشد دانش و ارتقای فرهنگ جامعه است و به راستی که التیامی بر این درد نیست؛ مگر نویسندگانی که قدر خود و دیگران را می دانند و خوب می فهمند که کتاب، ابزار سودجویی های بدخواهانه نیست و می کوشند تا خود را از هرگونه شهوت

نام و رسم و ثروت تهی کنند.

انتش��ارات دانش��گاهی کیان خود را بری از عی��ب و خطا نمی داند؛ اما هم��واره و بیش از پیش می کوشیم تا در راستای تولید علم و نشر کتاب های پرمحتوا، دست نویسندگانی که انگیزه پاک دارند، را بفش��اریم و در کنارشان باشیم و از خداوند متعال می خواهیم که در این مسیر دشوار و پرخطر در

سایه لطف و عنایت خود از آنچه به عهده ما نهاده شده، سربلند و پیروز برآییم.

انتشارات‌دانشگاهی‌کیان

سخنی‌با‌خوانندگان

Page 4: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ
Page 5: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

سخن‌نویسنده

تركيب PHP و MySQL و استفاده از آنها مناسب ترين راهكار براي طراحي وب سايت هاى پويا1 و مبتني بر پايگاه داده2 است. اين تركيب اين امكان را به كاربر مى دهد كه در رقابت با ساير چارچوب3 هاى 4 كه يادگيري آنها مشــكل است، پا پس نكشد. استفاده از اين تركيب

Ruby On Rails يكپارچه نظيربا داشــتن ويژگي متن باز5 بودن منبع (بر خالف چارچوب Microsoft.NET)، رايگان است، به همين

دليل انتخاب بسيار مناسبي براي توسعه وب6 محسوب مى شود.هر فردى به عنوان توســعه دهنده7 در يونيكس/ لينوكس8 يا حتي ســكوي9 ويندوز/ آپاچي10، تسلط بر اين تكنولوژي ها را احساس مى كند. در اين ميان، جاوااسكريپت11 نيز به دليل ارائه قابليت پويايي در مرورگر12 و ارتباط نامحســوس با ســرويس دهنده وب13 از طريق ايجكس14 براي توليد واســط15 هاى يكپارچه، از اهميت بســياري برخوردار است. با اســتفاده از CSS اين تكنولوژي ها را

مى توان با يكديگر تركيب كرد و يك مجموعه قدرتمند از ابزارهاي توسعه وب را ارائه نمود.

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

دانشجويان و عالقه مندان به فراگيري خود آموز، مى باشد.

1.Dynamic2.Database-driven3.Framework

4. يك چارچوب متن باز مبتني بر وب براي زبان برنامه نويسى رابي (Ruby) است .-م-5.Open Source7.Web Development8.Developer9.Unix/Linux10.Platform11.Windows/Apache12.JavaScript13.Browser14.Web Server15.Ajax16.Interface17.Static

مقدمه

تركيب PHP و MySQL و استفاده از آنها مناسب ترين راهكار براي طراحي وب سايت هاى پويا1 و مبتني بر پايگاه داده2 است. اين تركيب اين امكان را به كاربر مى دهد كه در رقابت با ساير چارچوب3 هاى 4 كه يادگيري آنها مشــكل است، پا پس نكشد. استفاده از اين تركيب

Ruby On Rails يكپارچه نظيربا داشــتن ويژگي متن باز5 بودن منبع (بر خالف چارچوب Microsoft.NET)، رايگان است، به همين

دليل انتخاب بسيار مناسبي براي توسعه وب6 محسوب مى شود.هر فردى به عنوان توســعه دهنده7 در يونيكس/ لينوكس8 يا حتي ســكوي9 ويندوز/ آپاچي10، تسلط بر اين تكنولوژي ها را احساس مى كند. در اين ميان، جاوااسكريپت11 نيز به دليل ارائه قابليت پويايي در مرورگر12 و ارتباط نامحســوس با ســرويس دهنده وب13 از طريق ايجكس14 براي توليد واســط15 هاى يكپارچه، از اهميت بســياري برخوردار است. با اســتفاده از CSS اين تكنولوژي ها را

مى توان با يكديگر تركيب كرد و يك مجموعه قدرتمند از ابزارهاي توسعه وب را ارائه نمود.

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

دانشجويان و عالقه مندان به فراگيري خود آموز، مى باشد.

1.Dynamic2.Database-driven3.Framework

4. يك چارچوب متن باز مبتني بر وب براي زبان برنامه نويسى رابي (Ruby) است .-م-5.Open Source7.Web Development8.Developer9.Unix/Linux10.Platform11.Windows/Apache12.JavaScript13.Browser14.Web Server15.Ajax16.Interface17.Static

مقدمه

تركيب PHP و MySQL و استفاده از آنها مناسب ترين راهكار براي طراحي وب سايت هاى پويا1 و مبتني بر پايگاه داده2 است. اين تركيب اين امكان را به كاربر مى دهد كه در رقابت با ساير چارچوب3 هاى 4 كه يادگيري آنها مشــكل است، پا پس نكشد. استفاده از اين تركيب

Ruby On Rails يكپارچه نظيربا داشــتن ويژگي متن باز5 بودن منبع (بر خالف چارچوب Microsoft.NET)، رايگان است، به همين

دليل انتخاب بسيار مناسبي براي توسعه وب6 محسوب مى شود.هر فردى به عنوان توســعه دهنده7 در يونيكس/ لينوكس8 يا حتي ســكوي9 ويندوز/ آپاچي10، تسلط بر اين تكنولوژي ها را احساس مى كند. در اين ميان، جاوااسكريپت11 نيز به دليل ارائه قابليت پويايي در مرورگر12 و ارتباط نامحســوس با ســرويس دهنده وب13 از طريق ايجكس14 براي توليد واســط15 هاى يكپارچه، از اهميت بســياري برخوردار است. با اســتفاده از CSS اين تكنولوژي ها را

مى توان با يكديگر تركيب كرد و يك مجموعه قدرتمند از ابزارهاي توسعه وب را ارائه نمود.

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

دانشجويان و عالقه مندان به فراگيري خود آموز، مى باشد.

1.Dynamic2.Database-driven3.Framework

4. يك چارچوب متن باز مبتني بر وب براي زبان برنامه نويسى رابي (Ruby) است .-م-5.Open Source7.Web Development8.Developer9.Unix/Linux10.Platform11.Windows/Apache12.JavaScript13.Browser14.Web Server15.Ajax16.Interface17.Static

مقدمه تركيب PHP و MySQL و استفاده از آنها مناسب ترين راهكار براي طراحي وب سايت هاى پويا1 و مبتني بر پايگاه داده2 است. اين تركيب اين امكان را به كاربر مى دهد كه در رقابت با ساير چارچوب3 هاى 4 كه يادگيري آنها مشــكل است، پا پس نكشد. استفاده از اين تركيب

Ruby On Rails يكپارچه نظيربا داشــتن ويژگي متن باز5 بودن منبع (بر خالف چارچوب Microsoft.NET)، رايگان است، به همين

دليل انتخاب بسيار مناسبي براي توسعه وب6 محسوب مى شود.هر فردى به عنوان توســعه دهنده7 در يونيكس/ لينوكس8 يا حتي ســكوي9 ويندوز/ آپاچي10، تسلط بر اين تكنولوژي ها را احساس مى كند. در اين ميان، جاوااسكريپت11 نيز به دليل ارائه قابليت پويايي در مرورگر12 و ارتباط نامحســوس با ســرويس دهنده وب13 از طريق ايجكس14 براي توليد واســط15 هاى يكپارچه، از اهميت بســياري برخوردار است. با اســتفاده از CSS اين تكنولوژي ها را

مى توان با يكديگر تركيب كرد و يك مجموعه قدرتمند از ابزارهاي توسعه وب را ارائه نمود.

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

دانشجويان و عالقه مندان به فراگيري خود آموز، مى باشد.

1.Dynamic2.Database-driven3.Framework

4. يك چارچوب متن باز مبتني بر وب براي زبان برنامه نويسى رابي (Ruby) است .-م-5.Open Source7.Web Development8.Developer9.Unix/Linux10.Platform11.Windows/Apache12.JavaScript13.Browser14.Web Server15.Ajax16.Interface17.Static

مقدمه

6

789

تركيب PHP و MySQL و استفاده از آنها مناسب ترين راهكار براي طراحي وب سايت هاى پويا1 و مبتني بر پايگاه داده2 است. اين تركيب اين امكان را به كاربر مى دهد كه در رقابت با ساير چارچوب3 هاى 4 كه يادگيري آنها مشــكل است، پا پس نكشد. استفاده از اين تركيب

Ruby On Rails يكپارچه نظيربا داشــتن ويژگي متن باز5 بودن منبع (بر خالف چارچوب Microsoft.NET)، رايگان است، به همين

دليل انتخاب بسيار مناسبي براي توسعه وب6 محسوب مى شود.هر فردى به عنوان توســعه دهنده7 در يونيكس/ لينوكس8 يا حتي ســكوي9 ويندوز/ آپاچي10، تسلط بر اين تكنولوژي ها را احساس مى كند. در اين ميان، جاوااسكريپت11 نيز به دليل ارائه قابليت پويايي در مرورگر12 و ارتباط نامحســوس با ســرويس دهنده وب13 از طريق ايجكس14 براي توليد واســط15 هاى يكپارچه، از اهميت بســياري برخوردار است. با اســتفاده از CSS اين تكنولوژي ها را

مى توان با يكديگر تركيب كرد و يك مجموعه قدرتمند از ابزارهاي توسعه وب را ارائه نمود.

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

دانشجويان و عالقه مندان به فراگيري خود آموز، مى باشد.

1.Dynamic2.Database-driven3.Framework

4. يك چارچوب متن باز مبتني بر وب براي زبان برنامه نويسى رابي (Ruby) است .-م-5.Open Source7.Web Development8.Developer9.Unix/Linux10.Platform11.Windows/Apache12.JavaScript13.Browser14.Web Server15.Ajax16.Interface17.Static

مقدمه

Page 6: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

در حقيقــت، عالقه مندان به فراگيري اصول بنيــادي در پس تكنولوژي Web 2.0 كه به عنوان ،MySQL ،PHP :ايجكس شــناخته مى شــود، مى توانند با مطالعه اين كتاب، شــالوده تكنولوژي هــاي

جاوااسكريپت و CSS را فرا گيرند.

فرضيات كتابفرض كتاب بر اين است كه مخاطب دانشي ابتدايي از HTML را داشته و دست كم مى تواند يك وب سايت ايستا و ساده را ايجاد كند، اما اين موضوع بدين معنا نيست كه مخاطب بايد داراي پيش زمينه قبلي در MySQL ،PHP، جاوااسكريپت يا CSS باشد؛ گرچه داشتن زمينه قبلي خالي از لطف نيست و باعث افزايش

سرعت فراگيري موضوعات موجود در كتاب مى شود.

نحوه سازمان دهي كتابفصل هاى اين كتاب به ترتيب خاصي نوشته شده اند، در فصل اول همه تكنولوژي هاى اصلي موجود در كتاب معرفى و ســپس نحوه نصب آنها روي يك ســرويس دهنده ي وب ارائه شــده اســت، تا

مخاطبان بتوانند مثال هاى موجود در كتاب را به طور عملى اجرا كنند.در بخش بعدي، اصول بنيادي برنامه نويســى با زبان PHP شامل مباني نحو1 زبان، آرايه2ها،

توابع3 و برنامه نويسى شىءگرا4 پوشش داده شده است.بــه دنبــال فراگيرى مفاهيم PHP در اين بخش، مقدمه اى از سيســتم پايــگاه داده MySQL بيان شــده اســت. در اين بخش همه چيز در رابطه با چگونگي ســازمان دهي پايگاه داده MySQL و توليد

بازجست5هاي پيچيده آموزش داده شده است.بعد از آن، به نحوه استفاده از PHP به همراه MySQL براي ايجاد صفحات پوياي وب با تركيب فرم6ها و ساير ويژگي هاى HTML پرداخته و روش هايى براي افزايش سرعت توسعه وب با استفاده

از قالب7هاي Smarty معرفى شده است.

1.Syntax2.Array3.Functions4.Object-Oriented Programming5.Query6.Form7.Template

Page 7: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

ســه فصل بعدي، به زيربنا و شــالوده اى از جنبه عملي توسعه PHP و MySQL اختصاص داده شده است، در اين بخش با توابع سودمند متنوع، چگونگي مديريت كوكي1ها و جلسه2ها و دستيابي

به سطح بااليي از امنيت آشنا مى شويد.در چهار فصل بعدي نيز، اصول بنيادي كاملي در رابطه با جاوااســكريپت از مثال هاى ساده گرفته تا مديريت رويداد3 براي دستيابي به Document Object Model، اعتبارسنجي در مرورگر4 و

مديريت خطا5 ارائه شده است.پس از درك اين ســه تكنولوژي اصلي، چگونگي فراخواني هاى نامحســوس ايجكس و تبديل

كردن وب سايت به محيط هاى پوياي سطح باال توضيح داده شده است.و دو فصل پايانى كتاب به يادگيري مفاهيمى در رابطه با CSS، به منظور طرح بندى صفحه هاى وب

اختصاص يافته است. در طول اين كتاب، نكته هاى زيادى درباره اصول مفيد برنامه نويســى و نيز يافتن خطاهايى كه به آساني مشاهده نمى شــوند و همچنين، آدرس وب سايت هاى بسياري براي مشاهده اطالعات

بيشتر در رابطه با موضوع مورد بحث ارائه گرديده است.

1.Cookie2.Session3.Event Handling4.In-browser Validation5.Error Handling

Page 8: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ
Page 9: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

سخن مترجم

تیم برنرزلی )Tim Berners-Lee( بنیانگذار شبکه جهانی وب، در سال 1990 با طراحی اولین وب سایت به عنوان نخستین طراح وب محسوب می شود. در آغاز صفحات وب با کدهای ساده HTML ایجاد می شدند و نیاز افراد را در آن زمان برآورده می کردند، اما امروزه به علت گس��ترش نیازها و به وجود آمدن تکنولوژی های مختلف در حوزه طراحی س��ایت و برنامه نویسی مبتنی بر وب، اس��تفاده تنها از HTML برای طراحی سایت،

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

PHP ماژول های مورد نظر را ایجاد کرد. تکنولوژی های بس��یاری برای ایجاد وب س��ایت های پویا وجود دارند که از رایج ترین آنها می توان به PHP، ASP.NET ،JSP ،ColdFusion و Ruby on Rails اش��اره ک��رد. ای��ن کتاب از چهار بخش مجزا تش��کیل ش��ده که در بخش اول آن تنها در رابطه با PHP صحبت شده است. PHP یک زبان اسکریپت نویسی HTML چند منظوره می باش��د که برای توس��عه وب بسیار مناسب اس��ت و می توان از کدهای آن در تگ هایاس��تفاده کرد. به عبارت دیگر می توان گفت که برای افزودن قابلیت پویایی به یک وب سایت، کدهای PHP در قس��مت های مورد نیاز به تگ های HTML اضافه می ش��وند. PHP یک زبان اسکریپت نویسی است که بر خالف زبان های کامپایلری، برای نوشتن اسکریپت های تحت وب طراحی شده است نه برای برنامه های مستقل )البته امکان اس��تفاده از آن برای ایجاد برنامه های مس��تقل نیز وجود دارد(؛ ضمن آنکه PHP یک تکنولوژی سمت سرویس دهنده و چند سکویی است. منظور از اصطالح سمت سرویس دهنده این است که تمامی پردازش های PHP در سمت سرویس دهنده انجام می شود و چند سکویی بودن آن اشاره به این موضوع دارد که PHP روی

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

Page 10: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

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

با این پایگاه داده اختصاص داده شده است.برخالف PHP که یک زبان اسکریپت نویس��ی سمت سرویس دهنده می باش��د، جاوا اسکریپت یک زبان اسکریپت نویسی سمت مشتری است به این معنی که کدهای جاوا اسکریت در صفحه HTML قرار داده می شوند و هنگامی که کاربر صفحه HTML که حاوی کدهای جاوا اسکریپت است را درخواست می کند، اسکریپت ها برای مرورگر ارسال شده و توسط آن اجرا می شوند. به عبارت دیگر می توان گفت که برای افزودن پویایی در سمت

مشتری می توان از جاوا اسکریپت استفاده کرد.به منظور جداس��ازی جنبه طراحی س��ایت از محتوای موجود در آن نیز از CSS استفاده می شود. به عبارت دیگر با اس��تفاده از تگ های CSS می توان نحوه نمای��ش عناصر موجود در صفحه وب را تعیین کرد. اس��تفاده از جاوا اس��کریپت و CSS این امکان را به ش��ما می دهند که س��ایتی زیبا با قابلیت پویایی بسیار را

طراحی و ایجاد کنید. دو بخش پایانی کتاب نیز به جاوا اسکریپت و CSS اختصاص داده شده است.کت��اب حاضر ب��ا ترکیب این چهار تکنول��وژی اصلی در بح��ث طراحی وب مرجعی اس��ت برای اینکه عالقه مندان بتوانند با استفاده از آن به یادگیری اصول طراحی وب سایت و برنامه نویسی مبتنی بر وب بپردازند. این کتاب ترجمه ویرایش دوم Learning PHP, MySQL, JavaScript, and CSS است که انتشارات O’Reilly در آگوس��ت سال 2012م به چاپ رس��انده است. گفتنی است که توضیحات اضافی را که مترجم الزم دیده اس��ت، در پاورقی با نش��ان -م مشخص کرده است. لوح فشرده ای نیز به همراه کتاب عرضه شده

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

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

حد فزون است، صمیمانه قدردانی نمایم.‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌یونس‌جمشیدی‌شیخی‌آبادی

[email protected]

'

Page 11: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

فصل‌اول:‌مقدمه‌اي‌بر‌محتواي‌پویاي‌وبHTTP و HTML: تعاریف اولیه ي برنرز لي................................................................................. 2425 .......................................................................................................... رویه درخواست/ پاسخ28 .................................................. CSS جاوا اسکریپت و ،MySQL ،PHP برتری های استفاده از29 .........................................................................................................................PHP استفاده از30 .....................................................................................................................MySQL استفاده ازاستفاده از جاوا اسکریپت........................................................................................................ 3233 ........................................................................................................................ CSS استفاده ازسرویس دهنده آپاچي.............................................................................................................. 34مفهوم متن باز........................................................................................................................... 35ترکیب این تکنولوژي ها با یکدیگر.......................................................................................... 3638 .................................................................................................................................... تمرین ها

فصل‌دوم:‌نصب‌یک‌سرویس‌دهنده‌وب40 .................................................................................................. MAMP ،WAMP و LAMP چیست؟نصب WAMP در ویندوز............................................................................................................ 41تست درستی فرایند نصب...................................................................................................... 4750 ........................................................................................ WAMP نرم افزارهاي جایگزین براي50 .............................................................................................................. OS X در MAMP نصب53 ..................................................................................................................... MySQL پیکربندياطمینان از اجراي MySQL هنگام بوت..................................................................................... 54تست درستی فرایند نصب...................................................................................................... 5557 .......................................................................................................... نصب LAMP در لینوکس58 .............................................................................................................. کار کردن از راه دوراستفاده از یک برنامه ویرایشگر............................................................................................ 6061 .................................................................................................................. IDE استفاده از یک63 .................................................................................................................................... تمرین ها

فهرست‌مطالب

Page 12: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

1213 1213

PHPفصل‌سوم:‌مقدمه‌ای‌بر‌66 ................................................................................................................ HTML با PHP ترکیب66 .............................................................................................................. PHP فراخوانی مفسر67 ................................................................................................................... PHP ساختار زباناستفاده از توضیح ها............................................................................................................... 68اصول اولیه نحو...................................................................................................................... 69نقطه ویرگول............................................................................................................................. 69کاراکتر $ ................................................................................................................................. 69مفهوم متغیر............................................................................................................................. 70متغیرهای رشته ای.................................................................................................................. 70متغیرهای عددی...................................................................................................................... 7272 ...................................................................................................................................... آرایه ها73 ................................................................................................................... آرایه هاي دو بعدي75 ................................................................................................. قانون های نام گذاري متغیرهاعمل گرها................................................................................................................................... 7579 ....................................................................................................................... انتساب متغیرها82 .............................................................................................................. دستورهای چند خطيانواع متغیرها............................................................................................................................ 85ثابت ها....................................................................................................................................... 8688 ..........................................................................................print و echo تفاوت بین دستور88 ......................................................................................................................................... توابعحوزه دید متغیر....................................................................................................................... 90متغیرهاي محلي....................................................................................................................... 90متغیرهاي سراسري................................................................................................................ 9293 ....................................................................................................................... متغیرهای ایستامتغیرهاي ابر سراسري........................................................................................................... 9596 ............................................................................................ متغیرهاي ابرسراسري و امنیت96 .................................................................................................................................... تمرین ها

PHPفصل‌چهارم:‌عبارت‌ها‌و‌کنترل‌جریان‌در‌99 ................................................................................................................................... عبارت هامقادیر ثابت و متغیرها.......................................................................................................... 101

Page 13: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

1213 1213

عمل گرها................................................................................................................................. 102103 ....................................................................................................... اولویت اجراي عمل گرهاشرکت پذیري.......................................................................................................................... 106عمل گرهاي رابطه اي.............................................................................................................. 107107 ............................................................................................................... عمل گرهاي تساوي109 ........................................................................................................... عمل گرهاي مقایسه ايعمل گرهاي منطقي................................................................................................................. 109111 ............................................................................................................... عبارت های شرطي 121 ........................................................................................................................................ حلقه126 ........................................................................................................................ خروج از حلقه127 ..................................................................................................................continue دستور128 ................................................................................................... تبدیل نوع ضمني و صریح129 ........................................................................................................ PHP لینک دادن پویا در132 .................................................................................................................................. تمرین ها

PHPفصل‌پنجم:‌توابع‌و‌اشیا‌در‌134 ............................................................................................................................... PHP توابع136 ...................................................................................................................... تعریف یک تابع136 ............................................................................................................ بازگرداندن یک مقدار138 ........................................................................................................... بازگرداندن یک آرایه139 .......................................................................................................... ارسال از طریق ارجاع141 ......................................................................................... بازگرداندن متغیرهاي سراسري141 ......................................................................................... بررسي دوباره حوزه دید متغیراستفاده از include و require براي فایل ها..................................................................... 142143 ........................................................................................................... PHP سازگاري نسخه144 .......................................................................................................................... PHP اشیا در147 ......................................................................................................................... تعریف کالسایجاد یک شیء....................................................................................................................... 148149 .................................................................................................................. دسترسي به اشیانوشتن متدها.......................................................................................................................... 153154 ........................................................................................................ PHP5 متدهاي ایستا در155 ........................................................................................................................ تعریف صفات

فهرست‌مطالب

Page 14: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

1415 1415

تعریف ثابت ها........................................................................................................................ 156156 ................................................................................. PHP5 حوزه دید متدها و صفت ها درارث بري.................................................................................................................................. 159163 .................................................................................................................................. تمرین ها

‌PHPفصل‌ششم:‌آرایه‌ها‌در‌165 ..................................................................................................................... دسترسي عاديآرایه هایي با اندیس عددي.................................................................................................... 166آرایه هاي انجمني................................................................................................................... 168169 ....................................................................array عمل انتساب با استفاده از کلمه کلیدي170 ................................................................................................................. foreach…as حلقه172 ............................................................................................................... آرایه هاي چند بعدياستفاده از توابع آرایه........................................................................................................... 176182 .................................................................................................................................. تمرین ها

PHPفصل‌هفتم:‌مفاهیم‌کاربردی‌در‌183 ............................................................................................................... printf استفاده از185 .................................................................................................................... تعیین دقت اعداد187 .......................................................................... اضافه کردن کاراکترهاي زائد به رشته هاتوابع تاریخ و زمان............................................................................................................... 189192 .............................................................................................................. date ثابت های تابع192 ................................................................................................. checkdate استفاده از تابعمدیریت فایل........................................................................................................................... 193196 ...................................................................................................................... خواندن از فایل197 .................................................................................................................. کپي کردن فایل ها198 ........................................................................................................................ تغییر نام فایلحذف یک فایل........................................................................................................................ 198199 ............................................................................................................. به روز رساني فایل ها200 .................................................................. قفل کردن فایل ها برای دسترسی های چند گانه202 .............................................................................................................. خواندن کل یک فایل203 ................................................................................................................ آپلود کردن فایل ها209 ....................................................................................................... فراخوانی های سیستمی

Page 15: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

1415 1415

212 ...................................................................................................................XHTML نسخه های212 ................................................................................................................. تفاوت در چیست؟214 ................................................................................................... HTML 4.01 انواع سندهای215 ........................................................................................................... XHTML 1.0 انواع سند216 .................................................................................................................................. تمرین ها

MySQLفصل‌هشتم:‌مقدمه‌اي‌بر‌219 ........................................................................................................... MySQL اصول ابتدایی220 ................................................................................ خالصه ای از اصطالح های پایگاه داده221 ............................................................................ دسترسی به MySQL از طریق خط فرمان225 ............................................................................................... استفاده از واسط خط فرمان227 .................................................................................................................MySQL دستورهایانواع داده................................................................................................................................ 232235 .................................................................................................................... انواع داده عددياندیس ها.................................................................................................................................. 244بازجست از پایگاه داده......................................................................................................... 251پیوند جدول ها با یکدیگر....................................................................................................... 262استفاده از عمل گرهاي منطقي.............................................................................................. 265265 ............................................................................................................................MySQL توابع266 ......................................................................... phpMyAdmin از طریق MySQL دسترسي به269 .................................................................................................................................. تمرین ها

MySQLفصل‌نهم:‌تسلط‌بر‌طراحي پایگاه داده................................................................................................................. 271274 ........................................................................................................................... نرمال سازيفرم نرمال سطح یک.............................................................................................................. 275278 .............................................................................................................. فرم نرمال سطح دو281 ............................................................................................................. فرم نرمال سطح سه283 .............................................................................. چه موقع از نرمال سازي استفاده نکنیمروابط...................................................................................................................................... 285285 .................................................................................................................................. یک به یکیک به چند................................................................................................................................. 286

فهرست‌مطالب

Page 16: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

1617 1617

چند به چند................................................................................................................................ 286288 ..................................................................................................... پایگاه هاي داده و بي نامي288 ................................................................................................................................... تراکنشموتورهاي ذخیره سازي تراکنش......................................................................................... 289تهیه نسخه پشتیبان و بازیابي آن....................................................................................... 293ایجاد فایل پشتیبان................................................................................................................ 296بازیابي یک فایل نسخه پشتیبان.......................................................................................... 297298 ...............................................................CSV نسخه برداري از داده ها با استفاده از فرمت299 .................................................................................................................................. تمرین ها

PHPبا‌استفاده‌از‌‌MySQLفصل‌دهم:‌دسترسي‌به‌301 ....................................................... PHP با استفاده از MySQL بازجست از یک پایگاه داده302 ................................................................................ PHP به وسیله MySQL فرایند استفاده ازایجاد یک فایل ورود.............................................................................................................. 302ایجاد بازجست و اجراي آن................................................................................................. 305306 ......................................................................................................................... واکشي نتیجه309 ................................................................................................................... واکشي یک سطربستن یک اتصال.................................................................................................................... 309310 ................................................................................................................. یک مثال کاربرديحذف یک رکورد.................................................................................................................... 314314 ............................................................................................................................ نمایش فرم بازجست از پایگاه داده......................................................................................................... 315317 ..................................................................................................MySQL استفاده کاربردي از317 ..................................................................................................................... ایجاد یک جدول321 ....................................................................................................................... بازیابي داده هااجرای بازجست های بیشتر.................................................................................................. 325326 ....................................................................................... جلوگیری از تزریق به پایگاه داده329 .......................................................................................................... استفاده از جا نگهدارها333 .................................................................................................................................. تمرین ها

Page 17: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

1617 1617

فصل‌یازدهم:‌مدیریت‌فرم335 ............................................................................................................................ ایجاد فرم ها337 ................................................................................................ بازیابی داده های ارسال شده339 .................................................................................................................. مقادیر پیش فرضانواع ورودی.......................................................................................................................... 340کلیدهای رادیویی................................................................................................................... 344345 ........................................................................................................................ فیلدهای پنهان348 .............................................................................................................................. برچسب هاپاک سازی ورودی................................................................................................................. 349351 .................................................................................................................... یک برنامه نمونه353 .................................................................................................................................. تمرین ها

فصل‌دوازدهم:‌کوکی‌ها،‌نشست‌ها‌و‌احراز‌هویت355 .................................................................................................. PHP استفاده از کوکی ها درمقداردهی یک کوکی.............................................................................................................. 357359 ......................................................................................................... دسترسی به یک کوکی359 ..................................................................................................................... حذف یک کوکی359 ..................................................................................................................HTTP احراز هویتاستفاده از نشست................................................................................................................. 368369 ................................................................................................................. شروع یک نشستخاتمه دادن به یک نشست.................................................................................................... 372مقداردهی یک تایم اوت.......................................................................................................... 373374 ......................................................................................................................... امنیت نشست379 .................................................................................................................................. تمرین ها

فصل‌سیزدهم:‌کاوش‌در‌جاوااسکریپتمرورگر های قدیمی و غیر استاندارد.................................................................................... 384386 ......................................................................................... گنجاندن فایل های جاوااسکریپتاشکال زدایی کدهای جاوااسکریپت...................................................................................... 386نقطه ویرگول........................................................................................................................... 390395 .......................................................................................................... کاراکترهاي مهار کننده

فهرست‌مطالب

Page 18: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

1819 1819

397 ....................................................................................................................................... توابع399 ....................................................................................................)DOM( مدل شیء گرای سند403 .......................................................................................................................DOM استفاده از404 .................................................................................................................................. تمرین ها

فصل‌چهاردهم:‌عبارت‌ها‌در‌دستورهای‌کنترل‌جریان‌در‌جاوااسکریپت405 ................................................................................................................................. عبارت ها406 .................................................................................................................. ثابت ها و متغیرهاعمل گرها................................................................................................................................. 407شرکت پذیر ي.......................................................................................................................... 409412 .......................................................................................................................... with دستور413 .............................................................................................................. onerror استفاده از415 ........................................................................................................try..catch استفاده ازحلقه ها..................................................................................................................................... 420423 ........................................................................................................................ خروج از حلقه424 .................................................................................................................................. تمرین ها

فصل‌پانزدهم:‌توابع،‌آرایه‌ها‌و‌اشیای‌جاوااسکریپت427 ...................................................................................................................................... توابع تعریف تابع............................................................................................................................. 428ایجاد یک شیء....................................................................................................................... 435435 .................................................................................................................. دسترسی به اشیا438 ..................................................................................................... آرایه ها در جاوااسکریپتآرایه های انجمنی................................................................................................................... 440442 ...................................................................................................... استفاده از متدهای آرایه444 .............................................................................................................. pop و push متدهای447 .................................................................................................................................. تمرین ها

فصل‌شانزدهم:‌اعتبار‌سنجی‌و‌کنترل‌خطا‌در‌‌PHPو‌جاوااسکریپتاعتبارسنجی ورودی کاربر با استفاده از جاوااسکریپت.................................................. 449سند validate.html )قسمت اول(...................................................................................... 450451 ............................................................... چگونگی کارکرد کد اعتبارسنجی جاوااسکریپت

Page 19: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

1819 1819

453 ..................................................................................... سند validate.html )قسمت دوم(457 ............................................................................... استفاده از یک فایل جاوااسکریپت جدا457 ................................................................................................................ عبارت های باقاعده458 .................................................................. تطبیق الگوها با استفاده از کاراکترهای خاصتطبیق کاراکتر فازی.............................................................................................................. 458460 ............................................................................................ گروه بندی با استفاده از پرانتزنمایش یک بازه با استفاده از عبارت های باقاعده.............................................................. 461نقیض...................................................................................................................................... 461استفاده از عبارت های باقاعده در جاوااسکریپت............................................................... 466467 ................................................................................PHP استفاده از عبارت های باقاعده در468 ...........................................PHP نمایش مجدد یک فرم پس از اعتبارسنجی با استفاده از474 .................................................................................................................................. تمرین ها

فصل‌هفدهم:‌استفاده‌از‌ایجکسAjax چیست؟......................................................................................................................... 477478 ............................................................................................... XMLHTTPRequest استفاده از482 ........................................................ POST با استفاده از درخواست های Ajax پیاده سازی484 ................................................................................................................readyState صفت486 .........................................................................................Ajax بخش سمت سرویس دهنده487 ...............................................................................................POST به جای GET استفاده از490 ...................................................................................................XML ارسال درخواست های494 .............................................................................................................................XML درباره496 ...................................................................................... Ajax استفاده از چارچوب ها برای 496 .................................................................................................................................. تمرین ها

CSSفصل‌هجدهم:‌مقدمه‌اي‌بر‌500 ................................................................................................. وارد کردن یک استایل شیتاستفاده از سبک هاي جاسازي شده..................................................................................... 501502 ..................................................................................................................... CSS قانون ها درانتساب چندتایي..................................................................................................................... 503انواع سبک.............................................................................................................................. 505506 ...................................................................................................... استایل شیت های خارجی

فهرست‌مطالب

Page 20: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

2021 2021

507 ................................................................................................................... CSS انتخابگرهايانتخابگر صفت....................................................................................................................... 513انتخابگر عام........................................................................................................................... 513515 ........................................................................................................CSS ویژگي آبشاري در515 ..................................................................................................... انتخابگرهای استایل شیت519 ................................................................. >span< و >div< تفاوت میان تگ هایواحدهاي اندازه گیری............................................................................................................ 521قلم ها و تایپوگرافي................................................................................................................ 523مدیریت سبک های مربوط به متن........................................................................................ 525528 ........................................................................................................................CSS رنگ ها در531 ........................................................................................................... تغییر موقعیت المان ها534 .................................................................................................................... کالس هاي کاذب536 ............................................................................................................................. المان کاذب537 ........................................................................................................ قانون های کوتاه نویسی537 .................................................................................................... مدل جعبه اي و طرح بندی محتواي شیء......................................................................................................................... 543543 .................................................................................................................................. تمرین ها

‌CSS3پیشرفته‌و‌‌CSS‌:فصل‌نوزدهمانتخابگرهاي صفت................................................................................................................ 546546 ................................................................................................ تطبیق بخش هایی از رشته ها547 ............................................................................................................... box-sizing صفت548 .............................................................................................................. CSS3 پس زمینه هایپس زمینه هاي چندتایي.......................................................................................................... 551553 ..................................................................................................................... CSS3 مرز ها درسرریزی المان....................................................................................................................... 558558 ..................................................................................... طرح بندی با استفاده از چند ستونرنگ ها و کدري...................................................................................................................... 560جلوه های متن......................................................................................................................... 563قلم های وب............................................................................................................................. 565تغییر فرم................................................................................................................................ 566

Page 21: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

2021 2021

569 ................................................................................................................................... انتقال ها573 .................................................................................................................................. تمرین ها

فصل‌بیستم:‌دسترسي‌به‌‌CSSتوسط‌جاوا‌اسکریپت575 ..........................................................................................getElementById بازدید از تابعگنجاندن توابع........................................................................................................................ 579دسترسی به صفت هاي CSS از طریق جاوا اسکریپت......................................................... 580584 ......................................................................Inline استفاده از جاوا اسکریپت به صورت585 ............................................................... اضافه کردن رویدادها به اشیا در یک اسکریپتاضافه کردن المان جدید....................................................................................................... 587589 ................................................... روش هاي جایگزین برای حذف و اضافه کردن المان هااستفاده از وقفه ها.................................................................................................................. 590لغو کردن یک تایم اوت.......................................................................................................... 591595 .................................................................................................................................. تمرین ها

فصل‌بیست‌ویکم:‌ترکیب‌تکنولوژي‌ها‌با‌یکدیگرطراحي یک سایت شبکه اجتماعي........................................................................................ 598599 ....................................................................................................................................... توابعبررسي فعال بودن نام کاربري........................................................................................... 606613 ............................................................................................. ''About Me'' اضافه کردن متن613 .............................................................................................. اضافه کردن تصویر پروفایلنمایش پروفایل جاري........................................................................................................... 614618 ............................................................................................. اضافه و حذف کردن دوستان618 .................................................................................................... فهرست بندی تمامي اعضا

ضمیمه:‌پاسخ‌تمرین‌های‌انتهای‌هر‌فصل633 .................................................................................................. پاسخ تمرین های فصل اولپاسخ تمرین های فصل دوم.................................................................................................. 634634 ................................................................................................ پاسخ تمرین های فصل سوم636 ............................................................................................. پاسخ تمرین های فصل چهارم637 ................................................................................................ پاسخ تمرین های فصل پنجم

فهرست‌مطالب

Page 22: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

2223

پاسخ تمرین های فصل ششم............................................................................................... 638پاسخ تمرین های فصل هفتم................................................................................................. 638پاسخ تمرین های فصل هشتم............................................................................................... 639پاسخ تمرین های فصل نهم................................................................................................... 640پاسخ تمرین های فصل دهم.................................................................................................. 641641 ............................................................................................ پاسخ تمرین های فصل یازدهمپاسخ تمرین های فصل دوازدهم.......................................................................................... 642642 .......................................................................................... پاسخ تمرین های فصل سیزدهمپاسخ تمرین های فصل چهاردهم......................................................................................... 643644 ........................................................................................... پاسخ تمرین های فصل پانزدهمپاسخ تمرین های فصل شانزدهم......................................................................................... 645پاسخ تمرین های فصل هفدهم.............................................................................................. 645646 ............................................................................................ پاسخ تمرین های فصل هجدهم647 ........................................................................................... پاسخ تمرین های فصل نوزدهم648 .............................................................................................. پاسخ تمرین های فصل بیستم

فصل‌1

مقدمه‌ای‌بر‌محتوای‌پویای‌وب

Page 23: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

2223

وب جهان گس��تر1 شبکه اي اس��ت که نسبت به محتواي اولیه خود در سال های آغازین دهه 1990م که به منظور حل یک مشکل خاص ایجاد شده بود، دچار دگرگوني های فراواني شده است. تحقیقات مدرن در سازمان اروپایي پژوهش های هسته ای )سرن(2 در حال تولید حجم انبوهي از داده3ها بود و به خاطر حجم باورنکردني این اطالعات، در عمل توزیع آنها در بین دانش��مندان انتخاب ش��ده در

قسمت های مختلف دنیا کنترل پذیر نبود.در همین زمان، اینترنت با اتصال چند صد هزار رایانه در حال کار بود. تیم برنرزلي4 )یکي از اعضاي سرن( روشي براي انتقال بین رایانه ها با استفاده از چارچوب ابرمتن5 ابداع کرد که به نام 8 HTML شناخته شد. همچنین او با ایجاد یک زبان نشانه گذاري7 به نام HTTP پروتکل انتقال ابر متن6 یا

توانست، براي ترکیب این دو با هم، اولین مرورگر و سرویس دهنده وب را ایجاد کند.

1.World Wide Web2.CERN3.Data4.Tim Burners-Lee5.hyperlink6.Hyper Text Transfer Protocol7.Markup Language8.Hyper Text Markup Language

فصل‌1

مقدمه‌ای‌بر‌محتوای‌پویای‌وب

Page 24: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

2425 2425

امروزه، بدون توجه به ماهیت این ابزارها، از آنها اس��تفاده می کنیم؛ درحالی که پیش از تولید آنها، هرج و مرج اطالعات بسیار زیاد بود. تا آن زمان مدرن ترین نوع ارتباط، اتصال کاربران خانگي به صورت Dial up به منابع خبري بود که روي یک رایانه میزباني1 می ش��د و تمامي نقل و انتقال داده ها تنها با کاربران آن نوع س��رویس خاص صورت می گرفت. بر همین اساس، برقراري ارتباط

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

پیشرفت های امروزي در زمینه متن و تصاویر انیمیشني GIF بسیار بی روح و ساده بوده است.خریدهاي اینترنتي، موتورهاي جس��ت وجو2 و ش��بکه های اجتماعي3 نحوه استفاده ما از وب را تغیی��ر داده اند. در این فصل، نگاهي اجمالي به اجزای تش��کیل دهنده وب و برنامه هایی که قابلیت

پویایي آن را فراهم می آورند، خواهیم داشت.

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

این‌کلمه‌ها‌نباشید. ‌

‌HTTPو‌HTML:‌تعاریف‌اولیه‌برنرزليHTTP یک استاندارد ارتباطي4 می باشد که وظیفه کنترل درخواست5ها و پاسخ6هاي رد و بدل شده بین

مرورگر کاربر نهایي7 و س��رویس دهنده8 را برعهده دارد. وظیفه سرویس دهنده دریافت درخواست مش��تري9 و تالش در جهت ارایه پاسخي مناسب به آن اس��ت، که به طور معمول کاربر، صفحه وب موردنظر را درخواس��ت کرده و س��رویس دهنده آن را در اختیار او قرار می دهد؛ اس��تفاده از کلمه

1.Hosted2.Search Engins3.Social Networks4.Communication Standard5.Request6.Response7.End User8.Server9.Client

Page 25: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

2425 2425

س��رور به معنای سرویس دهنده به همین منظور اس��ت. بی شک، قرار گرفتن کلمه مشتري در مقابل سرویس دهنده هم به رایانه و هم برنامه مرورگر وب که روي آن اجرا می شود، اطالق می گردد.

البته، بین مش��تري و س��رویس دهنده دس��تگاه های دیگ��ری همچون روتر1ها، پروکس��ي2ها، گذرگاه3ها و ... وجود دارد. همه این دس��تگاه ها وظایف مختلفي به منظور کس��ب اطمینان از ارس��ال درست درخواست ها و پاسخ ها بین سرویس دهنده و سرویس گیرنده را برعهده دارند. به طور معمول

از اینترنت براي ارسال این اطالعات استفاده می کنند.بیشتر اوقات سرویس دهنده وب می تواند در زمان عدم ارتباط با مشتري، کانکشنهاي همزمان چندگانه4 ای را مدیریت کند و زمان خود را صرف گوش دادن5 براي یک درخواست ورودي نماید. پس از ورود یک درخواست، س��رویس دهنده پاسخي را مبني بر رسیدن درخواست به درخواست کننده

ارسال خواهد کرد.

رویه‌6درخواست/‌پاسخدر ساده ترین سطح، فرایند درخواست/ پاسخ شامل یک درخواست از سوي مرورگر به سرویس دهنده وب براي دریافت یک صفحه وب می باشد که سرویس دهنده صفحه موردنظر را ارسال می کند. سپس

مرورگر این صفحه را نمایش می دهد )شکل 1-1(.

شکل‌1-1.‌مراحل‌درخواست/‌پاسخ‌مشتري/‌سرویس‌‌دهنده‌به‌صورت‌ساده

1.Router2.Proxy3.Gateway4.Multiple Simulttaneous Connections5.Listening6.Procedure

فصل‌اول/‌مقدمه‌ای‌بر‌محتوای‌پویای‌وب‌

Page 26: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

2627 2627

ترتیب مراحل موجود در فرایند درخواست و پاسخ به شرح زیر است:1. وارد کردن http://server.com در نوار آدرس1 مرورگر.

2. مرورگر به جست وجوي آدرس IP مربوط به server.com می پردازد.3. مرورگر، درخواستي را مبني بر دریافت صفحه اصلي2 به server.com ارسال می کند.

4. درخواست مربوطه از اینترنت عبور کرده و به سرویس دهنده وب server.com می رسد.5. سرویس دهنده وب پس از دریافت درخواست، صفحه وب خواسته شده را در هارد دیسک3 خود

جست وجو می کند.6. سرویس دهنده ، صفحه وب مربوطه را بازیابي4 کرده و آن را براي مرورگر ارسال می کند.

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

تصویر گرافیکي، یک ویدئو یا فایل فلش5 و یا حتي یک قالب CSS تکرار می شود. server.com مربوط به IP توجه داش��ته باشید در مرحله دو، مرورگر به جس��ت وجوي آدرسمی پردازد. هر ماش��یني که به اینترنت متصل است داراي یک آدرس IP می باشد، رایانه شما هم به همین ترتیب عمل می کند؛ ولي ما به طور معمول، توسط نامی مثل .google.com به یک سرویس دهنده 6

DNS وب دسترس��ي پیدا می کنی��م. همان طور که می دانید مرورگر از یک س��رویس اینترنتي به نام ب��راي پیدا کردن IP مربوط به آدرس س��رویس دهنده و از این IP ب��راي ارتباط با رایانه موردنظر

استفاده می کند.رویه موردنظر براي وب س��ایت های پویا، به دلیل اس��تفاده از PHP و MySQL اندکي پیچیده تر

است، شکل )1-2(. مراحل آن به شرح زیر است:1. وارد کردن http://server.com در نوار آدرس مرورگر.

2. مرورگر آدرس IP مطلق به server.com را جست وجو می کند.3. مروگر، درخواستي مبني بر دریافت صفحه اصلي به آدرس سرویس دهنده وب ارسال می کند.

4. درخواست مربوطه از اینترنت عبور کرده و به سرویس دهنده وب server.com می رسد.5. سرویس دهنده وب، پس از دریافت درخواست، صفحه اصلي سایت موردنظر را از هارد دیسک

خود واکشي7 می کند.

1.Address Bar2.Home Page3.Hard Disk4.Retrieve5.Flash File6.Domain Name Service7. Fetch

Page 27: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

2627 2627

6. پس از قرارگرفتن صفحه اصلي در حافظه1، سرویس دهنده وب متوجه می شود که فایل، شامل 3 ارسال می کند.

php می باشد؛ در نتیجه، صفحه مربوطه را به مفسر PHP 2اسکریپت7. کد PHP توسط مفسر آن اجرا می شود.

8. برخی از کدهاي PHP شامل دستورهای MySQL می باشند؛ بدین دلیل مفسر، آنها را به موتور پایگاه دادهMySQL 4 می فرستند.

9. پایگاه داده MySQL نتیجه دستورها را به مفسر PHP برمی گرداند.10. مفس��ر نتیجه های حاصل از اجراي کد PHP به همراه پایگاه داده MySQL را به سرویس دهنده

وب برمي گرداند.11. س��رویس دهنده وب نیز صفحه مربوطه را به مشتري درخواست کننده ارسال می کند تا آن

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

می شود.

شکل‌1-2.‌مراحل‌درخواست/‌پاسخ‌مشتري/‌سرویس‌‌دهنده‌به‌صورت‌پویا

1.Memory2.Script3.PHP Interpreter4.Database Engine

فصل‌اول/‌مقدمه‌ای‌بر‌محتوای‌پویای‌وب‌

Page 28: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

2829 2829

صفحاتي که در هر بار به مرورگر بازگردانده می شود، ممکن است شامل جاوااسکریپت باشد که به صورت محلي1 توس��ط مرورگر مشتري تفسیر می گردد و احتمال دارد درخواست دیگري نیز

تولید شود. برای مثال، شیء2 دیگري مانند یک عکس را درخواست کنند.

‌CSSجاوااسکریپت‌و‌‌،MySQL‌،PHPبرتری‌های‌استفاده‌از‌ 4

Jscript ،ب��ا وجود پیش��رفت هایی در زمینه ابزارهاي توس��عه وب نظی��ر جاوا3، جاوااس��کریپت و ActiveX و همچنین اش��تیاق بس��یار براي ایج��اد Web1.1، عمر Web1.0 زیاد ب��ه طول نینجامید. 5 و

Perl در س��مت س��رویس دهنده نیز پیشرفت هایی با اس��تفاده از زبان های اسکریپت نویسی نظیر7 شکل گرفت.

CGI اسکریپت نویسی سمت سرویس دهنده6، رويبعد از پایان این آش��فتگي ها، س��ه تکنولوژي اصلي پا به عرصه نهادند. اگرچه Perl هنوز به عنوان یک زبان اسکریپت نویس��ی مش��هور و پر طرفدار ایفاي نقش می کند؛ اما سادگي PHP و داشتن ارتباط داخلي با پایگاه داده MySQL س��بب ش��د تا کاربران زیادي را به خود جذب کند. جاوااسکریپت نی��ز به عنوان یک جزء اصلي در ایجاد محتواي پویاي وب به همراه CSS و مدیریت پردازش Ajax در س��مت مشتري8 مورد توجه واقع ش��د. با بهره گیری از Ajax، صفحه های وب به صورت نامحسوس و در پس زمینه بدون اینکه کابران مطلع ش��وند، اقدام به مدیریت داده ها و ارس��ال درخواس��ت ها به

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

الزم براي ایجاد Web2.0 را در اختیار ما قرار می دهند.

1.Locally2.Object3.Java

4. نسخه متفاوت جاوااسکریپت از شرکت ماکروسافت..PHP 5. جایگزیني براي زبان

6. قرار دادن محتویات یک فایل یا خروجي یک فراخواني سیستمي در فایل دیگر.7.Common Gateway Interface8.Client side9.Element

Page 29: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

2829 2829

ترکیب جاوااس��کریپت و CSS با یکدیگر نیز، ایده هایی را براي س��اخت وب سایت های پویا و محاوره ای در ذهن ما ایجاد می کند.

PHPاستفاده‌از‌ ،php افزودن محتویات پویا به وب سایت ها ساده است. ایجاد وب سایت ها با پسوند ،PHP با استفاده ازدسترس��ي سریع به زبان اسکریپت نویسی را در پي خواهد داش��ت. از زاویه دید توسعه دهنده ، تنها

نوشتن کدي نظیر کد زیر مورد نیاز است: <?php

echo "Hello World. Today is ".date("1").". ";

?>

How are you?

دس��تورهای PHP بین دو تگphp 1?> و <? قرار می گیرند و در نتیجه مفس��ر PHP، دستورهای موجود بین این دو تگ را تفس��یر می کند. خارج از این ساختار، تمامي موارد تحت قالب HTML براي مش��تري ارسال می ش��ود. بنابراین، متن “?How are you” به صورت ساده به عنوان خروجي، بر

روي مرورگر به نمایش در می آید.درون تگ ه��ای PHP، تاب��ع date روز ج��اري هفته را بر اس��اس زمان موجود در سیس��تم

سرویس دهنده نمایش می دهد.خروجي نهایي این دو بخش، شبیه مورد زیر خواهد بود:

Hello World. Today is Wednesday. How are you?

PHP زبان انعطاف پذیری است. به همین دلیل، برخی از افراد ترجیح می دهند که ساختار کنترلي2 PHP را به طور مستقیم کنار کدهاي آن به شکل زیر قرار دهند:

Hello World. Today is <?php echo date("1"); ?>. How are you?

روش ه��ای دیگري نیز براي قالب بندی اطالعات و تولی��د خروجي وجود دارد که در فصل های مربوط به هر یک بیان می ش��وند. نکته درخور توجه این اس��ت که با استفاده از PHP، توسعه دهندگان، C زباني را در اختیار خواهند داشت که سرعتی شگفت انگیز، البته نه به سرعت کامپایل3 کدها به زبان

یا یک زبان مشابه را دارد و به طور یکپارچه با کدهاي HTML نیز ترکیب می شود.

1.Tag2.Control Structure(or Construct)3.Compile

فصل‌اول/‌مقدمه‌ای‌بر‌محتوای‌پویای‌وب‌

Page 30: PHP, MySQL , JavaScript , CSSkianpub.com/sites/default/files/pdf/kianpub-php_1-30.pdf · هدنسیوننخس ﻲﻨﺘﺒﻣ ﻭ 1ﺎﻳﻮﭘ ﻯﺎﻫﺖﻳﺎﺳﺏﻭ ﻲﺣﺍﺮﻃ

PHP, MySQL , JavaScript , CSS مرجع‌کامل‌طراحی‌صفحات‌وب‌

3031 3031

اگ�ر‌تصی�م‌دارید‌مثال‌ه�ای‌‌PHPموجود‌در‌این‌کتاب‌را‌تایپ‌ک�رده‌و‌همگام‌با‌آن‌پیش‌ ‌بروی�د،‌به‌خاطر‌‌داش�ته‌باش�ید‌که‌دس�تور‌php?>‌را‌در‌ابتدا‌و‌<?‌را‌ب�ه‌انتهاي‌مثال‌ها‌ ‌‌بیفزایید‌تا‌از‌پردازش‌آنها‌توسط‌مفسر‌‌PHPاطمینان‌حاصل‌کنید.‌براي‌راحتی‌بیشتر‌ ‌‌می‌توانید‌فایلي‌با‌نام‌‌example.phpایجاد‌کرده‌و‌دستورهای‌مربوطه‌را‌در‌آن‌وارد‌کنید. ‌

با اس��تفاده از PHP، کنترل نامحدودي روي وب س��ایت خود خواهید داش��ت. از تغییر کدهاي HTML همزمان با اجراي اس��کریپت PHP گرفته تا پردازش یک کارت اعتباري، افزودن اطالعات کاربر به پایگاه داده یا واکش��ي اطالعات از وب سایت دیگر. تمامي این کارها توسط فایل های PHP که شامل

کدهاي HTML مختص به خود می باشند، امکان پذیر خواهد بود.

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

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

انگلیسي استفاده می کند.باالترین س��طح ساختاري MySQL یک پایگاه داده است که در آن می توانید یک یا چندین جدول3 از اطالعات خود را نگهداري کنید. براي مثال، فرض کنید روي جدولي با نام users کار می کنید که در آن س��توني4 براي firstname ،username و email ایجاد کرده اید و اکنون قصد افزودن کاربر دیگری

را به آن دارید.

1.Relational Databases2.Structured3.Table4.Column