مقدمه
در این آموزش قصد داریم طراحی صفحات وب پویا (Dynamic) را با زبان PHP آموزش دهیم. هدف زبان PHP، ایجاد صفحات وب پویا، بصورت سریع و آسان است. زبان PHP در کنار یک سرویس دهنده وب کار میکند و تحت سیستمهای عامل مختلف مثل Windows، UNIX، Linux، Solaris و... قابل نصب است. یکی از مزایای PHP رایگان بودن آن است. برای نصب PHP میتوانید نسخه موردنظر خود را از سایت PHP.net دریافت کنید. برای کار با بانک اطلاعاتی در وب نیز بهترین گزینه MySQL است که آنرا نیز میتوانید بطور رایگان از سایت MySQL.com دریافت کنید. البته گزینه بهتر، استفاده از نرم افزارهای واسطه مثل Wamp Server یا XAMPP است که بطور خودکار آخرین نسخه از سرویس دهنده وب Apache، زبان PHP و همچنین MySQL را همراه با برخی ابزارهای سودمند دیگر مثل phpMyAdmin که یک ابزار بسیار سودمند برای مدیریت پایگاه داده های MySQL محسوب میشود، برای شما نصب میکنند. برای یادگیری PHP به ابزارهای زیر احتیاج دارید:
آمادگی برای شروع کار
ابتدا مطمئن شوید که Wamp Server یا XAMPP یا هر نرم افزار مشابه دیگر که نصب کرده اید، به درستی کار میکند. برای اطلاع از نحوه نصب و راه اندازی صحیح نرم افزار موردنظرتان، راهنمای موجود در وب سایت رسمی آنرا مطالعه کنید و درصورت بروز مشکل، از انجمنهای مناسب مثل تالار گفتمان nCIS.ir کمک بگیرید.
شروع کار
در این آموزش به هیچ عنوان قصد اضافه گویی نداریم. بنابراین مستقیماً به سراغ اولین مبحث آموزشی میرویم. برای شروع کار کافیست ویرایشگر متنی خود را باز کرده و کد زیر را درون آن تایپ کنید:
سپس فایل را با نام 1.html در پوشه ریشه سرویس دهنده وب خودتان (www در محل نصب Wamp Server و یا htdocs در محل نصب XAMPP) ذخیره کنید. برای نمایش صفحه، کافی است در مرورگر خود آدرس localhost/1.html را باز کنید. همانطور که مشاهده میکنید، برای دسترسی به پوشه ریشه سرویس دهنده وب، باید از عبارت localhost استفاده کنید.
تشریح کد
در زبان HTML هر آنچه که مستقیماً تایپ شود، عیناً در خروجی ظاهر میگردد، مگر آنکه بین علامتهای < و > محصور شود که در این حالت، معنا و مفهوم خاصی خواهد داشت (البته فقط یکسری کلمات خاص این ویژگی را دارند که به آنها Tag میگوییم). برای یادگیری اصول HTML به مقاله «آموزش طراحی صفحات وب با HTML» مراجعه کنید.
مشاهده مجدد صفحه HTML
در پنجره مرورگر و درحالی که صفحه localhost/1.html باز است، کلید F5 یا Ctrl+R را فشار دهید یا از منوی View گزینه Refresh را انتخاب کنید. ملاحظه میکنید که مجدداً همان محتوای قبلی ظاهر میشود. یکی از بزرگترین مشکلات HTML، ایستایی (ثابت بودن) آن است؛ یعنی برای مشاهده صفحه ای متفاوت، حتماً باید کد آنرا تغییر دهید.
مشاهده کد منبع صفحه HTML
در پنجره مرورگر، روی یک جای خالی از صفحه، کلیک راست کرده و گزینه View Page Source را انتخاب کنید یا کلیدهای Ctrl+U را فشار دهید. خواهید دید که پنجره جدیدی باز شده و کد منبعی صفحه خروجی را به شما نشان میدهد. بنابراین، واضح است که در HTML هیچ امنیتی برای کد شما وجود ندارد. حال در ادامه، مثالی از کد PHP را مشاهده خواهید کرد و تفاوتهای اصلی آنرا با HTML مورد بحث قرار میدهیم.
اولین کد PHP
در پنجره ویرایشگر متن، از منوی File گزینه New را انتخاب کنید یا کلیدهای Ctrl+N را فشار دهید تا یک سند جدید در اختیار شما قرار گیرد. حال دستورات زیر را درون آن تایپ کنید و آنرا در همان مسیر قبلی و با نام 1.php ذخیره کنید:
بهتر است قبل از هرگونه توضیح، خروجی این صفحه را مشاهده کنیم. برای این کار در مرورگر خود، آدرس localhost/1.php را مشاهده کنید. همانطور که میبینید، خروجی این صفحه، ساعت جاری است. تنها تفاوت این کد با کد قبل، بدنه صفحه (تگ body) است. در اینجا بجای دستورات قبل، یک تگ ویژه را ملاحظه میکنید:
این تگ برای درج دستورات PHP درون کد HTML بکار میرود. قسمت بازشدن این تگ بصورت php?> و قسمت بستن آن بصورت ?> است و دستورات PHP بین این دو قسمت قرار میگیرند. فعلاً دستورات PHP که در این مثال مورد استفاده قرار گرفته اند را مورد بررسی قرار نمیدهیم (اما در آینده با همه آنها آشنا خواهید شد).
مشاهده مجدد صفحه PHP
درحالی که صفحه localhost/1.php در مرورگر باز است، کلید F5 یا Ctrl+R را فشار دهید یا از منوی View گزینه Refresh را انتخاب نمایید. مشاهده میکنید که ساعت تغییر میکند، درحالی که کد منبع صفحه را تغییر نداده ایم. بدلیل این قابلیت، زبان PHP یک زبان پویا (Dynamic) محسوب میشود که توسط آن، میتوانیم کدهایی بنویسیم که در زمانهای مختلف، بسته به شرایط متفاوتی که ممکن است وجود داشته باشد، خروجیهای مختلفی از یک کد ثابت تولید شود.
مشاهده کد منبع صفحه PHP
برروی صفحه کلیک راست کرده و گزینه View Page Source را انتخاب کنید یا کلیدهای Ctrl+U را فشار دهید. کد منبعی که به شما نشان داده میشود، مشابه کد زیر خواهد بود:
واضح است که این کد، با کدی که ما در فایل PHP نوشتیم متفاوت است. اگر به دقت به این کد نگاه کنید، خواهید دید که نتیجه اجرای کدهای PHP را نشان میدهد و خبری از خود کدهای PHP که این خروجی را تولید کرده اند، نیست. درواقع کدهای زیر:
پردازش شده و خروجی زیر را تولید کرده اند:
بنابراین متوجه مزیت دیگر PHP میشویم که همانا حفظ امنیت کدهای منبع تولیدکننده صفحات وب است.
معنا و هدف PHP
PHP مخفف بازگشتی عبارت PHP: Hypertext Pre-processor و به معنای پیش پردازنده فوق متن است. علت استفاده از Hypertext آن است که کلیه دستورات HTML در درون فایلهای با پسوند .php قابل پردازش است (عکس این مطلب صادق نیست و کدهای PHP درون فایلهایی با پسوند .html پردازش نمیشوند). منظور از پیش پردازنده نیز آن است که صفحات PHP ابتدا در سمت سرور پردازش شده و خروجی مناسب در قالب HTML تولید و برای مرورگر بازدیدکننده سایت ارسال میشود. بدین ترتیب، کد PHP اصلی از دید کاربر کاملاً محفوظ خواهد بود.
در این آموزش قصد داریم طراحی صفحات وب پویا (Dynamic) را با زبان PHP آموزش دهیم. هدف زبان PHP، ایجاد صفحات وب پویا، بصورت سریع و آسان است. زبان PHP در کنار یک سرویس دهنده وب کار میکند و تحت سیستمهای عامل مختلف مثل Windows، UNIX، Linux، Solaris و... قابل نصب است. یکی از مزایای PHP رایگان بودن آن است. برای نصب PHP میتوانید نسخه موردنظر خود را از سایت PHP.net دریافت کنید. برای کار با بانک اطلاعاتی در وب نیز بهترین گزینه MySQL است که آنرا نیز میتوانید بطور رایگان از سایت MySQL.com دریافت کنید. البته گزینه بهتر، استفاده از نرم افزارهای واسطه مثل Wamp Server یا XAMPP است که بطور خودکار آخرین نسخه از سرویس دهنده وب Apache، زبان PHP و همچنین MySQL را همراه با برخی ابزارهای سودمند دیگر مثل phpMyAdmin که یک ابزار بسیار سودمند برای مدیریت پایگاه داده های MySQL محسوب میشود، برای شما نصب میکنند. برای یادگیری PHP به ابزارهای زیر احتیاج دارید:
- مرورگر وب (در این آموزش از Firefox استفاده میشود)
- سرویس دهنده وب (در این آموزش از Apache استفاده میشود)
- مفسر زبان PHP (در این آموزش از نسخه 5 استفاده میشود)
- پایگاه داده ها (در این آموزش از MySQL استفاده میشود)
- ویرایشگر متن (توصیه ما استفاده از ++Notepad است)
آمادگی برای شروع کار
ابتدا مطمئن شوید که Wamp Server یا XAMPP یا هر نرم افزار مشابه دیگر که نصب کرده اید، به درستی کار میکند. برای اطلاع از نحوه نصب و راه اندازی صحیح نرم افزار موردنظرتان، راهنمای موجود در وب سایت رسمی آنرا مطالعه کنید و درصورت بروز مشکل، از انجمنهای مناسب مثل تالار گفتمان nCIS.ir کمک بگیرید.
شروع کار
در این آموزش به هیچ عنوان قصد اضافه گویی نداریم. بنابراین مستقیماً به سراغ اولین مبحث آموزشی میرویم. برای شروع کار کافیست ویرایشگر متنی خود را باز کرده و کد زیر را درون آن تایپ کنید:
<!doctype html> <html> <head> <title>Simple HTML</title> <meta charset="utf-8" /> </head> <body> <h1>Welcome to my web page!</h1> <p align="center"> Welcome to<br /> PHP<br /> Learning Course. </div> This is a simple HTML document. </body> </html>
سپس فایل را با نام 1.html در پوشه ریشه سرویس دهنده وب خودتان (www در محل نصب Wamp Server و یا htdocs در محل نصب XAMPP) ذخیره کنید. برای نمایش صفحه، کافی است در مرورگر خود آدرس localhost/1.html را باز کنید. همانطور که مشاهده میکنید، برای دسترسی به پوشه ریشه سرویس دهنده وب، باید از عبارت localhost استفاده کنید.
تشریح کد
در زبان HTML هر آنچه که مستقیماً تایپ شود، عیناً در خروجی ظاهر میگردد، مگر آنکه بین علامتهای < و > محصور شود که در این حالت، معنا و مفهوم خاصی خواهد داشت (البته فقط یکسری کلمات خاص این ویژگی را دارند که به آنها Tag میگوییم). برای یادگیری اصول HTML به مقاله «آموزش طراحی صفحات وب با HTML» مراجعه کنید.
مشاهده مجدد صفحه HTML
در پنجره مرورگر و درحالی که صفحه localhost/1.html باز است، کلید F5 یا Ctrl+R را فشار دهید یا از منوی View گزینه Refresh را انتخاب کنید. ملاحظه میکنید که مجدداً همان محتوای قبلی ظاهر میشود. یکی از بزرگترین مشکلات HTML، ایستایی (ثابت بودن) آن است؛ یعنی برای مشاهده صفحه ای متفاوت، حتماً باید کد آنرا تغییر دهید.
مشاهده کد منبع صفحه HTML
در پنجره مرورگر، روی یک جای خالی از صفحه، کلیک راست کرده و گزینه View Page Source را انتخاب کنید یا کلیدهای Ctrl+U را فشار دهید. خواهید دید که پنجره جدیدی باز شده و کد منبعی صفحه خروجی را به شما نشان میدهد. بنابراین، واضح است که در HTML هیچ امنیتی برای کد شما وجود ندارد. حال در ادامه، مثالی از کد PHP را مشاهده خواهید کرد و تفاوتهای اصلی آنرا با HTML مورد بحث قرار میدهیم.
اولین کد PHP
در پنجره ویرایشگر متن، از منوی File گزینه New را انتخاب کنید یا کلیدهای Ctrl+N را فشار دهید تا یک سند جدید در اختیار شما قرار گیرد. حال دستورات زیر را درون آن تایپ کنید و آنرا در همان مسیر قبلی و با نام 1.php ذخیره کنید:
<!doctype html> <html> <head> <title>Simple PHP</title> <meta charset="utf-8" /> </head> <body> <strong>The time is:</strong><br /> <?php date_default_timezone_set('Asia/Tehran'); echo date('H:i:s') . '<br />' . PHP_EOL; ?> </body> </html>
بهتر است قبل از هرگونه توضیح، خروجی این صفحه را مشاهده کنیم. برای این کار در مرورگر خود، آدرس localhost/1.php را مشاهده کنید. همانطور که میبینید، خروجی این صفحه، ساعت جاری است. تنها تفاوت این کد با کد قبل، بدنه صفحه (تگ body) است. در اینجا بجای دستورات قبل، یک تگ ویژه را ملاحظه میکنید:
این تگ برای درج دستورات PHP درون کد HTML بکار میرود. قسمت بازشدن این تگ بصورت php?> و قسمت بستن آن بصورت ?> است و دستورات PHP بین این دو قسمت قرار میگیرند. فعلاً دستورات PHP که در این مثال مورد استفاده قرار گرفته اند را مورد بررسی قرار نمیدهیم (اما در آینده با همه آنها آشنا خواهید شد).
مشاهده مجدد صفحه PHP
درحالی که صفحه localhost/1.php در مرورگر باز است، کلید F5 یا Ctrl+R را فشار دهید یا از منوی View گزینه Refresh را انتخاب نمایید. مشاهده میکنید که ساعت تغییر میکند، درحالی که کد منبع صفحه را تغییر نداده ایم. بدلیل این قابلیت، زبان PHP یک زبان پویا (Dynamic) محسوب میشود که توسط آن، میتوانیم کدهایی بنویسیم که در زمانهای مختلف، بسته به شرایط متفاوتی که ممکن است وجود داشته باشد، خروجیهای مختلفی از یک کد ثابت تولید شود.
مشاهده کد منبع صفحه PHP
برروی صفحه کلیک راست کرده و گزینه View Page Source را انتخاب کنید یا کلیدهای Ctrl+U را فشار دهید. کد منبعی که به شما نشان داده میشود، مشابه کد زیر خواهد بود:
<!doctype html> <html> <head> <title>Simple PHP</title> <meta charset="utf-8" /> </head> <body> <strong>The time is:</strong><br /> 15:03:35<br /> </body> </html>
واضح است که این کد، با کدی که ما در فایل PHP نوشتیم متفاوت است. اگر به دقت به این کد نگاه کنید، خواهید دید که نتیجه اجرای کدهای PHP را نشان میدهد و خبری از خود کدهای PHP که این خروجی را تولید کرده اند، نیست. درواقع کدهای زیر:
<?php date_default_timezone_set('Asia/Tehran'); echo date('H:i:s') . '<br />' . PHP_EOL; ?>
پردازش شده و خروجی زیر را تولید کرده اند:
15:03:35<br />
بنابراین متوجه مزیت دیگر PHP میشویم که همانا حفظ امنیت کدهای منبع تولیدکننده صفحات وب است.
معنا و هدف PHP
PHP مخفف بازگشتی عبارت PHP: Hypertext Pre-processor و به معنای پیش پردازنده فوق متن است. علت استفاده از Hypertext آن است که کلیه دستورات HTML در درون فایلهای با پسوند .php قابل پردازش است (عکس این مطلب صادق نیست و کدهای PHP درون فایلهایی با پسوند .html پردازش نمیشوند). منظور از پیش پردازنده نیز آن است که صفحات PHP ابتدا در سمت سرور پردازش شده و خروجی مناسب در قالب HTML تولید و برای مرورگر بازدیدکننده سایت ارسال میشود. بدین ترتیب، کد PHP اصلی از دید کاربر کاملاً محفوظ خواهد بود.