PDA

نسخه کامل مشاهده نسخه کامل : آموزش زبان PHP از ابتدا تا انتها



kian98
03-04-2014, 08:43
مقدمه
با گسترش شبکه سراسری اینترنت وب سایت های زیادی جهت اهداف مختلفی به وجود آمده اند از این رو افرادی از این موقعیت استفاده و به عنوان یک حرفه،گسترش و طراحی سایت را فرا گرفته اند.زبان برنامه نویسی php یکی از زبان هایی است که تمامی امکانات جهت توسعه یک سایت را داراست.شما نیز می توانید با یادگیری این زبان زمینه شغلی مناسبی را برای خود فراهم کنید.

Php زبانی سمت سرور می باشد بدین معنی که دستورات این زبان توسط سرور تفسیر می شود.کسانی که با زبان برنامه نویسی C آشنایی داشته باشند به سرعت این زبان را فرا می گیرند.php از بانک اطلاعاتی MySql استفاده می کند.این زبان محیط برنامه نویسی خاصی ندارد و شما می توانید حتی درون NotePad کد نویسی کنید ولی توصیه ما این است که برای راحتی کار از یک ویرایشگر پیشرفته مثل NuSphere استفاده کنید.همان طور که گفتم برای اجرای دستورات این زبان نیاز به سرور می باشد چون Php سمت سرور است ولی فراهم ساختن و انتقال کدها به سرور هم هزینه بالا و وقت زیادی را از ما می گیرد،ولی شما می توانید با یک نرم افزار مثل Xampp سرور مجازی را بر روی سیستم خانگی یا لپ تاپ خود داشته باشید.
پیش نیاز
آشنایی با Html
ابزار مورد نیاز
- نرم افزار شبیه ساز سرور Xampp ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) (نرم افزارهایی مثل WampServer یا Easy php همین کار را انجام می دهند).
آموزش استفاده از نرم افزار
بعد از نصب برنامه را اجرا کنید سپس به سمت راست Taskbar رفته و بر روی آیکون برنامه کلیک کنید.از پنجره ظاهر شده Apache و MySQL را انتخاب و اجرا کنید.



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


برای استفاده از نرم افزار Xampp کافی است فایل php را در پوشه htdocs واقع در محل نصب بریزید.


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]



برای اجرای کد و مشاهده نتیجه آدرس زیر را در مرورگر وارد و اجرا کنید.


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


تا اینجا یاد گرفتید با استفاده از Xampp یک سرور را بر روی کامپیوتر خود راه انداری کنید.حالا به سراغ ابزار بعدی میریم که ضروری هم نیست ولی استفاده از آن به کار ما سهولت می بخشد.

- نرم افزار NuSphere ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) جهت کد نویسی آسان (البته می توانید از Php Editor یا Dreamweaver و… استفاده کنید).


آموزش استفاده از نرم افزار
بعد از نصب و اجرای نصب افزار به منوی File رفته و New را انتخاب کنید.



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


از پنجره ظاهر شده Php File.php را انتخاب کنید،همان طور که مشخص است این نرم افزار از زبان های موجود در این پنجره پشتیبانی می کند.



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]



بعد از انجام مراحل بالا وارد محیط کدنویسی نرم افزار nusphere می شویم که در جلسات بعدی مورد استفاده واقع می شود.



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]



بعد از انجام مراحل بالا شما یک فایل php ساخته اید که می توانید از منوی File و زیر منوی Save در محل مورد نظر پرونده را ذخیره کنید.بهتر است این فایل را در پوشه htdocs از نرم افزار xampp ذخیره کنید که بتوانید آن را اجرا کنید.البته توجه داشته باشید که نرم افزار nusphere یک موتور داخلی ساده جهت اجرای فایل های php دارد ولی به تنهایی قادر رفع نیازهای ما نیست.

kian98
03-04-2014, 08:43
بخش دوم

در بخش قبل با php و ابزارهای مورد نیاز آشنا شدید،حال زمان آن فرا رسیده که اولین کد را با هم بنویسیم.
ابتدا نرم افزار nusphere را اجرا کنید سپس طبق آموزش های جلسه قبل یک پرونده جدید ایجاد کرده و کد زیر را تایپ کنید.



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


حالا بررسی میکنیم که در بالا چی نوشتیم و چه کاری برای ما انجام می دهد.
1
2
3
4
5
<?php

محل قرار گیری کد

؟>



- به این قسمت سبک ضمیمه یا تگ پی اچ پی گفته می شود و هر چه بین این دو نوشته شود php به حساب می آید و هر چه خارج از این قسمت باشد html به حساب می آید.
1
echo “php tutorial in gooyait”;



- echo یکی از دستورات php است که وظیفه چاپ متن در خروجی را بر عهده دارد.که در اینجا php tutorial in gooyait را چاپ می کند.
- اگر دقت کنید متوجه می شوید که در انتهای کد یک سمی کالن ( ; ) قرار گرفته است،ما در php با این علامت مشخص می کنیم که کد ما به پایان رسیده است.
- توجه داشته باشید که در php مثل اکثر زبان های برنامه نویسی باید رشته ها داخل کوتیشن یا دابل کوتیشن قرار بگیرند.(در جلسات بعد کامل توضیح داده می شود)
حالا نوبت این شده که کد را اجرا کنیم.ابتدا پرونده را با نام index.php ذخیره کرده سپس از منوی run زیر منوی run را یا کلید F9 را بزنید.
نکته : بهتر است محل دخیره پوشه htdocs باشد.(جلسه قبل گفته شد)


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


در تب باز شده شما مشاهده می کنید که متن php tutorial in gooyait به نمایش در می آید.
این بار کد ما توسط موتور داخلی نرم افزار nusphere تفسیر شد حال یک بار هم کد را با xampp اجرا می کنیم تا شیوه کار با این نرم افزار را هم بیاموزیم.
اگر پرونده را در محل گفته شده یعنی پوشه htdocs ذخیره کردین مرورگر خود را اجرا و آدرس ۱۲۷٫۰٫۰٫۱ را دنبال کنید.
توجه : باید قبل از اجرا ی کد نرم افزار را اجرا کنید و apache هم run باشد.نتیجه باید مثل تصویر زیر باشد.


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

kian98
03-04-2014, 08:45
بخش سوم

در جلسات قبلی آموختید که چگونه یک کد php را اجرا کنید و از این جلسه سعی می کنیم دستورات اصلی php را یاد گرفته و بیشتر به کد نویسی می پردازیم.
اولین موضوعی که قصد دارم به آن بپردازم متغیر می باشد که بسیار هم پر کاربرد هستند.
متغیر چیست ؟
در بسیاری از موارد نیاز است که اطلاعاتی را به صورت موقت ذخیره و چندین بار مورد استفاده و عملیات متفاوتی را روی آن ها اعمال کنیم در اینجاست که به متغیرها نیاز داریم.متغیر ها در هنگام ذخیره سازی یک فضا از ram گرفته و مقدار را در آن ذخیره می کنند.
یک پرونده جدید ایجاد و کد زیر را تایپ کرده و اجرا کنید :
$name = gooyait; echo $name; متوجه شدید که نتیجه gooyait می باشد.
در اکثر زبان های برنامه نویسی قبل از تعریف متغیر باید نوع آن مشخص گردد اما در php نیازی به انجام این کار نیست و php با توجه به مقدار ذخیره شده در متغیر نوع آن را شناسایی می کند.
انواع متغیر در php شامل string(کاراکترها را در بر می گیرد)،integer(شامل اعداد و اعشار true) boolean ، (double یا false) و array ( در بخش های بعدی مورد بحث قرار می گیرد) می باشند.
$string = 'gooyait'; $integer = 123; $double = 5.2; $boolean = true; - برای تعریف متغیر باید در ابتدای نام متغیر از علامت ( $ ) استفاده شود.
- نام متغیر می تواند شامل حروف به همراه اعداد و خط زیر ( _ ) باشد.(مثال های زیر نمونه ای صحیح از تعریف متغیر می باشند)
- در ابتدای نام متغیر نمی توان از عدد استفاده کرد ولی اگر ابتدا حروف یا خط زیر و سپس عدد باشد اشکال ندارد.
- متغیرها به کوچک یا بزرگ بودن حروف حساس هستند.برای مثال $gooyait با GOOYAIT تفاوت دارد و یکی نیستند.
- برای مقداردهی یک متغیر از علامت یا عملگر ( = ) همان مساوی استفاده می شود.
- استفاده از فاصله در نام متغیر مجاز نیست.
- متغیر های رشته ای باید حتما داخل کوتیشن یا دابل کوتیشن قرار بگیرد.

kian98
03-04-2014, 08:45
بخش چهارم

امیدوارم تا اینجا با ما همراه بوده باشید و توانسته باشیم اندک دانسته های خود را در اختیار شما بگذاریم.برای یاد گیری بهتر قصد دارم از مثال های کاربردی در رابطه با دستورات استفاده کنم زیرا شما با خریدن یک کتاب هم می توانید دستورات این زبان را یاد بگیرید.در این قسمت به بررسی یک فرم و شیوه ارسال اطلاعات توسط فرم می پردازیم.
قصد داریم از طریق یک فیلد نام شخصی را دریافت کرده و به او خوش آمد بگوییم.
نرم افزار Nusphere را باز کرده و یک پرونده جدید از نوع HTML File ایجاد کنید و کدهای زیر را میان <body> و <body/> تایپ کنید و سپس صفحه را با نام form.html ذخیره کنید.
1
2
3
4
<form action="welcome.php" method="post">
name : <input type="text" name="yourname">
submit : <input type="submit" name="send" value="send">
</form>



تا اینجا یک فرم با استفاده از html ایجاد کردیم که دارای یک فیلد از نوع text جهت دریافت اطلاعات و یک دکمه ارسال جهت ارسال فرم به محل گفته شده می باشد.تنها نکته ای که اینجا باید بهش دقت کنید خصیصه هایی است که در فرم استفاد شده است.
- اولین خصیصه ما action است که محل ارسال فرم را مشخص می کند که در کد بالا برابر با welcome.php است یعنی فرم ما باید به این فایل ارسال شود.
- خصیصه بعدی method می باشد که شیوه ارسال اطلاعات را مشخص می کند.در کل دو شیوه get و post برای ارسال اطلاعات وجود دارد که تفاوت آنها در امنیت می باشد و post از امنیت بالاتری بر خوردار است زیرا get اطلاعات را از طریق نوار آدرس ارسال می کند که توسط کاربر قابل مشاهده است و علاوه بر این get دارای محدودیت در ارسال اطلاعات به مقدار ۱۰۰ کاراکتر می باشد.
در صورتی که خصیصه method مشخص نشود به صورت پیش فرض get لحاظ می شود.
تا اینجا مشخص شده که اطلاعات دریافت شده به welcome.php ارسال می شوند پس نیاز به این صفحه برای دریافت و پردازش اطلاعات داریم.
یک پرونده جدید php ایجاد کرده و با نام welocome.php در محل form.htm ذخیره کنید.سپس کد های زیر را درون آن تایپ کنید :
1
2
3
4
<?php
name = $_POST['yourname'];$
echo "welcome $name";




در کد بالا ابتدا یک متغیر به نام name$ ایجاد کرده و مقدار دریافتی را به وسیله آرایه POST_$ در آن ذخیره کردیم.در صورتی که مقدار متد ما get بود باید از GET_$ استفاده می کردیم.برای دریافت مقادیر فرم باید از نام آن استفاده کنیم و ما هم در اینجا از yourname که برای input بود استفاده کردیم.سپس با استفاده از تابع echo رشته welcome و name$ را چاپ کردیم.
توجه داشته باشید که آرایه های بالا از دستورات پیشفرض php بوده و باید حتمآ با حروف بزرگ نوشته شوند.
به کد زیر توجه کنید :
1
echo "welcome ".$name;



روش بالا هم نتیجه ای مثل کد قبلی دارد ولی با این تفاوت که ما در اینجا از الحاق رشته ها به وسیله یک نقطه استفاده کردیم.یعنی در زمان هایی که نیاز باشد چند رشته را به هم وصل کنیم از این روش استفاده می شود.

kian98
03-04-2014, 08:48
بخش پنجم

یکی از پرکاربردترین دستورات در php شرط ها هستند که می توان قسمت های مختلف یک برنامه را توسط آن ها کنترل کرد.
دستور شرطی IF
1
2
3
4
if ( شرط )
{
اجرا در صوررت تحقق شرط
}



شکل کلی این دستور به صورت بالا می باشد که در صورت تحقق یافتن شرط قسمت میان {} اجرا می شود.
1
2
3
4
5
6
$a = 4;
$b = 2;
if ( $a > $b )
{
echo 'a bigger than b';
}



ابتدا دو متغیر عددی تعریف کرده و به آنها مقدار دادیم سپس با دستور if به مقایسه آنها پرداختیم و مشخص کردیم در صورت تحقق شرط بخش مورد نظر چاپ شود یعنی خروجی ما a bigger than b خواهد بود.
دستور شرطی IF…ELSE
1
2
3
4
5
6
if( شرط )
{
اجرا در صورت تحقق شرط
}else{
اجرا در صورت تحقق نیافتن شرط
}



مشابه قسمت قبل می باشد فقط قسمت بعد از else در صورت تحقق نیافتن شرط اجرا می گردد.
1
2
3
4
5
6
7
8
9
if( شرط )
$a = 10;
$b = 20;
if( $a > $b )
{
echo 'a bigger than b';
}else{
'a smaller than b';
}



دستور شرطی IF…ELSE IF…ELSE
1
2
3
4
5
6
7
8
if( شرط )
{
اجرا در صورت تحقق شرط اول
}elseif( شرط دوم ){
اجرا در صورت تحقق یافتن شرط دوم
}else{
اجرا در صورت تحقق نیافتن هیچکدام از شرط ها
}



فرض کنید میخواهیم چند شرط را بررسی کنیم و نتیجه را به کاربر اعلام کنیم در اینجا باید از روش بالا استفاده کنیم.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form method='post' action=''>
Your Average : <input type='text' name='average'>
<input type='submit' name='submit' value='send'>
</form>
<?php

if(isset($_POST['submit'])){

$average = $_POST['average'];

if( $average > 16 )
{
echo 'عالی';
}elseif( $average == 14 )
{
echo 'متوسط';
}else{
echo 'ضعیف';
}
}
?>



ابتدا یک فرم که ساختیم که معدل را دریافت می کند و سپس در شرط اول بررسی کردیم اگر معدل بیشتر از ۱۶ بود عالی چاپ شود و در شرط دوم اگر برابر ۱۴ بود متوسط و اگر غیر از این بود ضعیف چاپ می شود.
تنها یک نکته در کد بالا شاید برای شما جدید باشد و آن هم دستور ()isset می باشد که بررسی می کند که آیا متغیر مورد نظر ست شده یا نه و به زبان ساده تر آیا بر روی دکمه submit کلیک شده است که متغیر مورد نظر مقدار بگیرد ؟
دستور شرطی SWITCH
1
2
3
4
5
6
7
8
9
10
11
switch( عبارتی که باید بررسی شود )
{
case عبارت ثابت اول:
اجرا در صورت تطابق یافتن عبارت اول
break;
case عبارت ثابت دوم:
اجرا در صورت تطابق یافتن عبارت دوم
break;
default:
اجرا در صورت تطابق نیافتن هیچ کدام از عبارت های ثابت
}



فرض کنید در جایی ما یک رشته را با ۱۰۰ رشته دیگر مقایسه کنیم در اینجا استفاده از شرط های زیاد باعث پیچیدگی کد می شود و باید به فکر راه حلی بهتری باشیم که switch می تواند مشکل ما را حل کند.
در این روش یک عبارتی که باید بررسی شود در داخل () گرفته و سپس با case اول مقایسه می شود و در صورتی که نتیجه صحیح باشد با break دستور پایان می یابد و در صورت صحیح نبود سراغ case های بعدی می رود و در آخر اگر با هیچ کدام صحیح نشود قسمت بعد از default اجرا می شود.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
$month = 10;
switch( $month )
{
case 1:
echo 'فروردین';
break;
case 2:
echo 'اردیبهشت';
break;
case 3:
echo 'خرداد';
break;
case 4:
echo 'تیر';
break;
case 5:
echo 'مرداد';
break;
case 6:
echo 'شهریور';
break;
case 7:
echo 'مهر';
break;
case 8:
echo 'آبان';
break;
case 9:
echo 'آذر';
break;
case 10:
echo 'دی';
break;
case 11:
echo 'بهمن';
break;
case 12:
echo 'اسفند';
break;
default:
echo 'این ماه در تاریخ هجری شمسی وجود ندارد.';
}



در کد بالا با توجه به مقدار متغیر month$ ماه مورد نظر شناسایی می شود که با این روش می توان در سایت خود ماه تولد را به عدد دریافت و به فارسی نمایش داد.