آموزش PHP مبتدی تا حرفه ای

در این بخش میتوانید آموزش های مربوط به نیوک را مشاهده فرمائید.
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

درود بر همه ی کاربران . با اجازه از مدیر سایت iman64 ، این تاپیک را ایجاد کردم برای آموزش PHP

لطفا تا آخر آموزش ها هیچ گونه سوالی نفرمایید و بگذارید تاپیک فقط جنبه ی آموزش داشته باشد.

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

آموزش هارا به صورت قسمت بندی شده در اختارتون قرار می دم.

در قسمت آخر نیز یک سیستم عضو گیری درست خواهیم کرد...

سعی خواهم کرد تمام آموزش هارا به زبان خیلی راحت توضیح بدم.

همچنین امیدوارم از این وقتی که برای این کار قرار میدهم ، استفاده ی درستی انجام بشه.

قسمت 1

قبل از شروع آموزش شما نیاز مند به یکی از دانش های زیر می باشید:

HTML و JavaScript

برای آموزش HTML می توانید به قسمت ویکی نیوک بروید و آموزش هارا مشاهده کنید

PHP چیست ؟

PHP یک زبان قدرتمند برای ساخت وب سایت های پویا است. این زبان اسکریپتی میتواند با HTML ادغام شود. php یک زبان در سمت سرور است, بدین معنا که کدهای php روی سرور تفسیر میشوند و خروجی html و یا خروجی های دیگری تولید میکند که توسط کاربر قابل مشاهده است.
php در سال 1994 توسط Rasmus Lerdorf ارایه شد. از آن زمان تا به حال تغییرات زیادی در این زبان اسکریپتی تحت لینوکس ایجاد شده است و در حال حاضر نسخه 5 آن توسط تیم گسترش دهنده php عرضه شده است.
برخی از رقبای php عبارتند از: Perl, JSP, ColdFusion و ASP.NET اما زبان php برتریهای بسیاری در مقایسه با رقیبان خود دارد.
با استفاده از زبان php میتوان وب سایت هایی را ساخت که:
داده ها را از منابع مختلفی مانند بانک های اطلاعاتی و یا فایل ها جمع آوری کنند.
عناصری مثل جستجو، فروم، عضویت، ورود و خروج کاربران، گالری عکس و ... ایجاد کرد.
سیستم پست الکترونیکی ایجاد کرد، فروشگاه آنلاین ساخت و به کاربران اجاز خرید داد و ...
به طور کلی میتوان گفت php برای وب سایت هایی مناسب است که با کاربران زیادی سر و کار داردند و به صورت مرتب به روز میشوند. شاید این نکته برای شما جالب باشد که بدانید Yahoo به عنوان یکی از هامیان php است و بسیاری از قسمت های خود را با زبان php ساخته است. از وب سایت های معروفی دیگری که از php استفاده میکنند میتوان به Google, flickr و Facebook اشاره کرد.
برنامه نویسی php معمولا به این صورت است که برنامه نویسان در یک کامپیوتر (بدون اتصال به اینترنت) برنامه خود را مینویسند، آزمایشات مقدماتی خود را روی آن انجام میدهند سپس آن را روی سرور منتقل میکنند. در بیشتر موارد برنامه نویس اطلاعات وب سایت را در داخل یک بانک اطلاعاتی قرار میدهید، اطلاعاتی مانند شناسه کاربران و کلمات عبورشان، اخبار و نوشته ها .... سپس با استفاده از php به بانک اطلاعاتی متصل میشوند و با اطلاعات آن کار میکنند. یکی از متداولترین بانک های اطلاعاتی که برای php مورد استفاده قرار میگیرد MySQL است. MySQL چندی پیش توسط شرکت Sun خریداری شد و در حال حاضر نسخه 5 آن آخرین نسخه ارایه داده شده می باشد.

چگونه شروع کنیم ؟

ابتدا بر روی سیستم عامل خود یک apache یا IIS نصب کنید ، توصیه می شه از برنامه ی xampp استفاده کنید یا اینکه از هاست خود برای PHP استفاده کنید.

برای نوشتن PHP ابتدا یک notepad باز کنید ( توصیه می کنم از notepad++ استفاده کنید و زبان آن را روی PHP قرار دهید )

در زبان PHP همیشه دستورات به این شکل شروع می شود :

و پایان آن بدین شکل :

به طور کلی :

کد: انتخاب همه

<?php
دستورات
?>

همچنین برای ذخیره باید با پسوند .php ذخیره نمایید برای مثال : new.php

پایان قسمت 1
آخرین ويرايش توسط 2 on shahin2010b, ويرايش شده در 0.


shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: تاپیک آموزش زبان PHP

پست توسط shahin2010b »

قسمت 2

در قسمت اول فراموش کردم براتون notepad++ را قرار بدم ، برای دانلود آخرین ورژن از سایت رسمی کلیک کنید. البته از DreamWeaver و ... نیز می توانید استفاده کنید.

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

نگاهی به قسمت اول

  • در قسمت اول گفته شد که برای اجرای دستورات PHP نیازمند یک apache یا IIS هستید.که برنامه ای نیز معرفی شد.
  • در PHP اجرای دستورات بدین شکل است:

کد: انتخاب همه

<?php
دستورات
?>


و گفته شد که می توان از تگ های HTML در PHP استفاده کرد برای مثال :

کد: انتخاب همه

<html>
<body>
<?php
دستورات
?>
</body>
</html>

شروع قسمت 2

نکته ای که همیشه در طراحی باید در نظر بگیرید جذاب بودن اون صفحه و استفاده از رنگ ها(توصیه می شود روانشناسی رنگ هارا مطالعه کنید)بدین منظور بازدید کننده بیشتر جذب سایت می شود...

برای نمایش یک خروجی یا متن در php باید از echo یا print استفاده کرد. برای مثال :

کد: انتخاب همه

<?php
echo "PHP Nuke";
?>


خوب به طرز نوشتن دقت کنید ، این کد ، چنین خروجی به ما می دهد : PHP Nuke

حتما دقت کرده اید که متن باید در "" قرار گیرد و پایان آن با ; تمام شود

حالا بریم سراغ قسمتی مهم که به اصطلاح به آن Comments می گویند.

Comments برای چه چیز کاربرد دارد ؟

برای مثال شما کدی را نوشته اید و می خواهید برای یادآوری خود یا شخصی که قرار است آن کد را بخواند توضیحی بنویسید(با استفاده از این دستور ، توضیحات در خروجی شما هیچ تاثیری ندارند ، فقط در سورس دیده می شوند که برای استفاده از آن می توانید از دو دستور زیر استفاده کنید :

کد: انتخاب همه

<?php
// توضیحات
?>
در این روش فقط می توانید روبروی // توضیح بنویسید و متاسفانه نمی توانید برای توضیح به لاین پایین تر بروید ، اما روش دیگری نیز وجود دارد:

کد: انتخاب همه

<?php
/*
توضیحات
توضیحات2
*/
?>

همانطور که می بینید با استفاده از این دستور می توان در چندین لاین مختلف توضیحات را نوشت بدون اینکه در سورس شما تاثیر بگذارد.
در HTML برای انجام چنین کاری می توان از دستور زیر استفاده کرد :

کد: انتخاب همه

<html>
<body>
<!-- Tozihat -->
<p>PHP Nuke</p>
</body>
</html>




حالا تا اینجا چیزهایی که یاد داده شد به یک باره به نمایش میزاریم :

کد: انتخاب همه

<html>
<body>
<?php
// This is a comment
echo "PHP Nuke";
?>
</body>
</html>


در نهایت تنها چیزی که در صفحه مرورگر شما نشان داده خواهد شد پس از اجرا :

کد: انتخاب همه

PHP Nuke

سعی کنید هر چیزی که اینجا هست را برای تمرین کپی نکنید ، بلکه خودتان تایپ کنید

در قسمت بعد با متغیر ها(Variables) آشنا می شوید

پایان قسمت دوم
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: تاپیک آموزش زبان PHP

پست توسط shahin2010b »

قسمت 3

متغیر ها

متغیر ها قسمتهایی از برنامه هستند که یک نام دارن و یک مقدار که در حافظه موقتی ذخیره میشه تا برنامه نویس بتونه از اونها در طول برنامه استفاده کنه.


برای مثال شما ایمیل کاربر رو از کاربر دریافت میکنید و اون رو داخل یک متغیر میریزید و استفاده میکنید .
باید بدانید :
  1. در PHP هر متغیر با $ شروع میشه ( Shift+4 ) ، غیر از این باشه مفسر PHP خطا خواهد داد .
  2. نام متغیر ها در PHP با اعداد شروع نمیشود .در نامگذاری متغیر ها این کاراکتر ها مجاز هستند {a-zA-Z0-9_} .
  3. در PHP بر خلاف C نیازی به تعیین نوع داده متغیر نیست ، البته این بدین معنی نیست که PHP از انواع داده پشتیبانی نمیکنه .
  4. علامت انتساب مقدار به متغیر در پی اچ پی = است .
  5. PHP نسبت به بزرگی و کوچکی نام متغیر ها حساس است .
  6. اگر یک متغیر رو تعریف کنیم و بهش مقدار بدیم و دوباره در طول برنامه به اون مقدار جدیدی بدیم ، مفسر مقدار جدید رو برای برنامه در نظر میگیره .
  7. یک متغیر میتونه هیچ مقداری نداشته باشه .
  8. پی اچ پی میتونه از انواع داده پشتیبانی کنه.
انواع داده عبارتند از:
integer => عددی

boolean => منطقی {درست – نادرست}

string => رشته {همه کاراکتر ها}

float => اعداد اعشاری

array => ارایه ها

و….
لیست انواع داده ای که PHP از اونها پشتیبانی میکنه .



تو PHP میتونید بر روی یک متغیر عملیات ریاضی انجام بدید !
میتونید برای اینکار از روش های زیر استفاده کنید .

کد: انتخاب همه

<?php
$str=12;
$str+=2;
echo $str; // 14
?>


برای انجام دیگر عملیات ها به جای عملگرهای + و – عملگر های زیر رو بزارید .
/ تقسیم
+ جمع
- تفریق
* ضرب

حالا با توجه به گفته ها کمی تمرین می کنیم :

کد: انتخاب همه

<?php
$a="nuke";
echo($a);
?>


عملگر های PHP

[TABLE][TR][TD]4 [/TD][TD]2 + 2 [/TD][TD]x + y [/TD][/TR][TR][TD]0 [/TD][TD]2 - 2[/TD][TD]x - y [/TD][/TR][TR][TD]4 [/TD][TD]2 * 2[/TD][TD]x * y [/TD][/TR][TR][TD]1 [/TD][TD]2 / 2 [/TD][TD]x / y [/TD][/TR][/TABLE]

فعلاً این بحث تا همین جا بمونه ! هنوز این قسمت ادامه داره !
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: تاپیک آموزش زبان PHP

پست توسط shahin2010b »

ادامه ی قسمت 3

شرمنده دوستان نمی دونم چرا اجازه ی پست همراه با کد را نمی ده ، براتون به صورت PDF ادامه ی مبحث را درست کردم.

موفق باشید


ویرایش : در فایلی که قرار دادم هنگامی که اولین مثال زده شد ، در تعریف تابع $n و $ln یک اشتباهی به وجود آمده !

درست آن بدین صورت است :

کد: انتخاب همه

$n="shahin";
$ln="mohseni";

پیوست ها
PHP_P3.pdf
(466.47 کیلو بایت) 274 مرتبه دانلود شده
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: تاپیک آموزش زبان PHP

پست توسط shahin2010b »

قسمت 4

قسمت 4 را به صورت PDF براتون ضمیمه کردم ، امید وارم به خوبی یاد گرفته باشید تا اینجا

در این قسمت ، دستورات شرطی if و else و elseif یاد خواهید گرفت.
پیوست ها
PHP_P4.pdf
(293.01 کیلو بایت) 261 مرتبه دانلود شده
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: تاپیک آموزش زبان PHP

پست توسط shahin2010b »


قسمت 5


کاربرد دستور switch در php چیست؟

همانطور که از نام switch (به معنی تعویض کردن) پیداست، از آن برای انتخاب چند مورد (case) مختلف با توجه به مقادیری که مقایسه می شوند، استفاده می کنند، البته گاهی به جای switch و case از if و elseif هم استفاده می کنند، ولی فلسفه پیدایش این دو از هم جدا است و در کدنویسی های پیشرفته کارکردی متمایز دارند؛ اگر بخواهیم نحوه کاربرد switch و case در php را با یک مثال توضیح دهیم، می توان کتابخانه ای را فرض کرد که با توجه به درخواست شما (Statement یا دستور شما) از بین کتابهای (case های) موجود، یک مورد را انتخاب (switch) کرده و به شما تحویل می دهد.

شیوه نگارش یا syntax دستور switch در php

شیوه نگارش یا syntax دستور switch در php بی شباهت به جاوا اسکریپت نیست، مانند جاوا اسکریپت یک مقدار برای مقایسه به switch اختصاص می یابد و از بین case های موجود یک مورد یا بعضا بیشتر انتخاب می شود، به مثال زیر توجه کنید.

[PHP]
$statement = "Iran";
switch ($statement){
case "Iran":
echo "کشور کاربر: $statement";
break;
case "Other":
echo "user country: $statement";
break;
}
[/PHP]

توضیح:
- در مثال بالا ابتدا متغیر فرضی statement برابر Iran قرار گرفته است.
- سپس در دستور switch مقادیر متغیر statement به عنوان یکی از case ها مقایسه می شود و هر کدام که مقدار آن برابر بود، به خروجی داده می شود.
- قسمت مربوط به break با true شدن هر case، باعث پایان جستجوی switch در موارد خود می شود، در واقع وقتی switch مقادیری مشابه متغیر statement پیدا می کند، case آن true شده و قسمت مربوط به break به جستجو خاتمه می دهد.
- طبق کد بالا خروجی می شود: کشور کاربر: Iran
استفاده از default case در دستور switchحال با توجه به مثال، فرض کنید هیچ کدام از case های ما با مقادیر متغیر statement همخوانی نداشته باشند، ممکن است در این صورت بخواهیم به کاربر پیامی نشان دهیم یا به او بگوییم که کشور خود را در فیلد مربوط وارد کند و یا هر چیزی که نیاز به یک مقدار پیش فرض دارد؛ برای این منظور از ظرفیت دیگری در switch به نام default case یا مورد پیش فرض استفاده می کنیم، به مثال زیر توجه کنید.
[PHP]$statement = "unknown";
switch ($statement){
case "Iran":
echo "کشور کاربر: $statement";
break;
case "Other":
echo "user country: $statement";
break;
default:
echo "please fill out your country field";
}[/PHP]

توضیح:
- با توجه به مثال بالا، چون مقدار متغیر statement برابر unknown است و هیچ کدام از case ها چنین مقداری ندارند، پس قسمت مربوط به default اجراء می شود.
- دقت کنید که php بیشتر یک زبان داینامیک است تا استاتیک، یعنی داده ها و خروجی ها با توجه به شرایط و مقادیر متفاوت، مختلف خواهند بود، در مثال ها صرفا جهت کمک به آموزش مطلب، از متغیر های استاتیک استفاده شده است، لذا این مقادیر می توانند مثلا با توجه به IP کاربر یا نام او و یا هرآنچه که به عنوان یک متغیر می تواند تعریف شود، قابل تغییر باشد که این بستگی به نیاز و هدف شما دارد
آخرین ويرايش توسط 1 on shahin2010b, ويرايش شده در 0.
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

قسمت 6


آرایه ها (Array) در PHP

[JUSTIFY]بهترین تعریف از آرایه :
[/JUSTIFY][JUSTIFY]آرایه عبارتست از یک سری خانه های به هم پیوسته حافظه که همه آنها هم جنس هستند و با یک نام به آنها رجوع می شود .[/JUSTIFY][JUSTIFY]این تعریف یک تعریف کلی در اکثر زبانهای برنامه نویسی است . البته در php شرط هم جنس بودن وجود ندارد .[/JUSTIFY][JUSTIFY]مثلا فرض کنید بخواهید یک برنامه بنویسید که در آن قرار است اطلاعات یکسری از دانشجویان یک کلاس را در یکسری متغیر قرار دهیم و پردازشی روی آن انجام شود چه کار باید انجام دهیم ؟ آیا به ازاء هر دانشجو یک متغیر بگیریم ؟ آیا اصلا تعداد دانشجویان را از قبل می دانیم ؟ اگر تعداد آنها مرتب تغییر کند و پویا باشد چه ؟ اصلا فرض کنیم تعداد را هم بدانیم اگر تعداد آنها زیاد بود چه کنیم مثلا در مورد یک دانشگاه که ممکن است ده هزار نفر دانشجو داشته باشد به تعداد این متغیر ها فکر کرده اید ؟ ضمن اینکه احتمالا پردازش همه آنها شامل عملیات یکسانیست ولی با تعریف یک متغیر برای هر دانشجو عملا از کامپیوتر هیچ بهره ای نبردیم . چرا که آن عملیات را برای هر ده هزار نفر باید تکرار کنیم (یعنی کد را کپی و پیست کنیم) . حال لگر برای هر دانشجو بخواهیم فقره های اطلاعاتی مختلفی از جمله شماره دانشجویی ، نام ، نام خانوادگی و ... را ذخیره کنیم شرایط به مراتب بد تر هم می شود .[/JUSTIFY][JUSTIFY]فلسفه وجودی آرایه همینست که قرار است یکسری پردازش مشخص بر روی تعدادی (احتمالا زیاد) شیء هم جنس انجام شود . یعنی برای تک تک اشیاء عملیات یکسان خواهد بود . حال بهینه ترین راه برای دستیابی به این اشیاء استفاده از ساختمان داده ایست که همه را تحت یک نام ذخیره کرده و بعد با یک آفست یا شماره یا هر مکانیزم دیگری بتوان به آنها دسترسی داشت .[/JUSTIFY]
[JUSTIFY]برای تعریف آرایه در PHP می توان از دستور زیر استفاده کرد :

[PHP]$array = array();[/PHP][/JUSTIFY]با این کار (استفاده از دستور array) یک آرایه ایجاد کرده ایم . حتی می توانیم به هنگام ایجاد آرایه مقادیر خانه های آنرا نیز مشخص کنیم . ولی نکته ای که در همین ابتدا باید به آن اشاره کنم اینست که آرایه در PHP بسیار منعطف تر از آرایه در زبان های دیگری مانند c است . چرا که هم این متد را می توانید بدون پارامتر بکار برید و هم با پارامتر . همچنین در تعداد پارامتر ها محدودیتی وجود ندارد می توانید تا دلتان بخواهد پارامتر به این متد بدهید و لزومی هم ندارد که تعداد خانه های آرایه از قبل مشخص باشد و حتی می توانید بعد از تعریف آرایه خانه ای به آن بیفزائید . به مثال زیر توجه کنید :

[PHP]$cars = array("BMW" , "Audi" , "Benz");
$countries = new array("Iran" , "Germany" , "Egypt" , "The U.S");[/PHP]

[JUSTIFY]همانطور که می بینید در خط اول ، آرایه ای با 3 عضو و در خط دوم آرایه ای با 4 عضو تعریف شده است .[/JUSTIFY][JUSTIFY]در زبان PHP سه نوع آرایه وجود دارد :[/JUSTIFY][JUSTIFY]1- آرایه های عددی (Numeric Array)[/JUSTIFY][JUSTIFY]2- آرایه های انجمنی (Associative Array)[/JUSTIFY][JUSTIFY]3- آرایه های چند بعدی (Multidimensional Array)[/JUSTIFY]
آخرین ويرايش توسط 1 on shahin2010b, ويرايش شده در 0.
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »


قسمت 7


PHP Loops

حلقه (Loop) چیست؟
در برنامه نویسی php (و شاید در اکثر زبان های برنامه نویسی)، از حلقه ها (Loops) برای گرفتن خروجی در یک دور تکرار، با مقادیر متفاوت استفاده می شود، البته این بحث بی شباهت با توابع نیست، ولی حلقه (Loop)، چند فرق اساسی با تابع (Function) دارد، از جمله اینکه در حلقه در هر دور، معمولا یک خروجی به مرورگر ارسال می شود، در حالی که تابع در هر بار فراخوانی معمولا تنها یک خروجی ارسال می کند (مگر اینکه درون تابع از حلقه استفاده شود)، از طرفی حلقه ها متاثر از شرایط بیرون و درون خود رفتار می کنند، اما توابع تنها ممکن است چند ورودی از بیرون دریافت کنند، ولی در نهایت پردازش را با توجه به الگوی خود انجام می دهند؛ به هر صورت از بحث تئوری که بگذریم، در یک مثال ساده کاربرد حلقه در php مثل این است که به فرض به جای اینکه 10 بار یک عدد را به فرض با اعداد 1 تا 10 جمع کنیم (یعنی برای هر بار یک کد بنویسیم و خروجی بدهیم)، در یک حلقه، ده دور عمل جمع را با مقادیر و خروجی متفاوت تکرار می کنیم، یا تا زمانی که حاصل جمع ما به 10 نرسیده است، تکرار را در حلقه ادامه می دهیم.
انواع حلقه در php :
چند نوع حلقه در php وجود دارد که با به حساب آوردن همه آنها، می توان تعداد حلقه در php را در چهار دسته خلاصه کرد؛ حلقه while و زیر مجموعه آن یعنی do while، حلقه for وهم خانواده آن یعنی foreach، حلقه while یک دور حلقه را تا زمانی که شرطی (condition) درست (true) باشد، تکرار می کند، زیر مجموعه آن یعنی do while نیز ساختاری شبیه به while دارد، با این تفاوت که ابتدا، دور حلقه do یک بار اجرا می شود و سپس شرط while بررسی می گردد، حلقه for برعکس while، درون خود شرطی را بررسی می کند و تا زمانی که شرط درست باشد، تکرار را ادامه می دهد، هم خانواده آن یعنی foreach نیز برای کار با آرایه ای از اطلاعات و متغیرها کاربرد دارد، در حالت معمول استفاده از for کفایت می کند، اما زمانی که می خواهید به فرض اطلاعات را از پایگاه داده خروجی بگیرید یا با یک فرم با قابلیت انتخاب فیلدهای چندگانه کار کنید، باید حتما از foreach استفاده نمائید، چرا که داده های شما به صورت آریه ای از اطلاعات هستند و باید با کلید و مقدار، جداگانه و تک به تک مقایسه و خروجی داده شوند، در ادامه به طور مفصل تر در مورد کاربرد حلقه ها خواهیم گفت.
حلقه while در php
ساختار حلقه while در php به اینصورت است که با بررسی یک شرط، تا هر زمان که مقدار برگردانده شده توسط آن درست (true) باشد، مقادیر داخل {} اجرا می شود، در مثال ساده زیر، یک حلقه را تا زمانی که تعداد کاربران به 5 نرسیده ادامه داده ایم و خروجی فرضی از آن گرفته ایم.

[PHP]
//مقادیر پیش فرض برای متغیر
$users = 5;
//حلقه while
while ($users > 0){
echo "کاربر شماره $users <br />";
$users--;
}
[/PHP]


خروجی کد بالا به صورت زیر خواهد بود :

کد: انتخاب همه

کاربر شماره 5
کاربر شماره 4
کاربر شماره 3
کاربر شماره 2
کاربر شماره 1
توضیح:
- ابتدا برای متغیر فرضی users یک مقدار پیش فرض قرار می دهیم تا بعدا در حلقه while یک شرط برای آن تعیین کنیم.
- سپس در قسمت مربوط به حلقه while، بررسی می کنیم، تا زمانی که مقادیر متغیر users بزرگتر از صفر باشد، کد داخل {} اجرا شود.
- درون حلقه یک دستور خروجی echo نوشته ایم که در هر دور (loop)، مقادیر را چاپ می کند و در قسمت آخر، در هر دور حلقه یک واحد از متغیر users کاسته می شود و این کار تا زمانی که مقادیر این متغیر بزرگتر از صفر، یعنی یک است، ادامه می یابد.
- دقت کنید، چون متغیر فرضی ما در این مثال یک عدد بود، می توانیم بر روی آن اعمال ریاضی مثل جمع، تفریق و... را انجام دهیم، در برنامه نویسی سطح بالاتر، موقعیت هایی پیش می آید که انواع متفاوتی از داده ها را باید با توجه به نوع آنها بررسی کنیم.

این بحث تا همینجا بمونه،ادامه در قسمت بعدی
آخرین ويرايش توسط 2 on shahin2010b, ويرايش شده در 0.
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

ادامه ی قسمت 7


حلقه do while در php
گاهی مواقع در دنیای برنامه نویسی وب با php، پیش می آید که بخواهیم یک حلقه را ابتدا یک بار خروجی دهیم (چه شرطی درست باشد و چه نباشد)، سپس بررسی کنیم که آیا شرایط ادامه حلقه مهیا است یا خیر، مفسر php بدین منظور از ساختار do while که بسیار شبیه while معمولی است بهره می گیرد، در do while دور اول حلقه، بدون هیچ پیش شرطی اجراء می شود، اما دورهای بعد مثل این است که به روال عادی حلقه while بازگشت کنیم، مثال زیر روشن است.

[php]
//مقادیر پیش فرض برای متغیر
$users = 0;
do{
echo "کاربر شماره $users خوش آمدید<br />";
$users--;
}
//حلقه while
while ($users > 0);
[/php]


مثال بالا با وجود اینکه در قسمت شرط while گفته ایم که تازمانی که متغیر users از صفر بزرگتر باشد و مقادیر این متغیر هم صفر است، اما خروجی زیر به مرورگر ارسال می شود.

کد: انتخاب همه

کاربر شماره 0 خوش آمدید

حلقه for در php
استفاده از for در php نوعی دیگر از حلقه ها را شکل می دهد، از حلقه for زمانی استفاده می کنیم که بخواهیم به فرض به تعداد مشخصی دور تکرار، بدون وابستگی به شرایط بیرون حلقه داشته باشیم، در واقع ساختار حلقه ها در php (و در دیگر زبان های برنامه نویسی مشابه)، شباهت های زیادی به هم دارند، اما به منظورهای متفاوتی ایجاد شده اند، در حلقه while، معمولا بخش اصلی شرایط درست یا نادرست شدن یک شرط، در بیرون از حلقه اتفاق می افتد، اما در حلقه for تمام این اتفاقات در درون پارامترهای خود حلقه شکل می گیرد، اجازه بدهید موضوع را با یک مثال روشن کنیم.

[php]
//حلقه for
for ($users=1; $users <= 3; $users++){
echo "کاربر شماره $users <br />";
}
[/php]


این خروجی را تولید می کند :

کد: انتخاب همه

کاربر شماره 1 
کاربر شماره 2 
کاربر شماره 3


توضیح:
- شیوه نگارش یا syntax حلقه for با while کمی متفاوت است، حلقه for در سه عبارت (expression)، ساختار اصلی خود را شکل می دهد، عبارت اول، همان مقادیر پیش فرض برای یک متغیر است، عبارت دوم، تعیین شرط برای خاتمه حلقه است و عبارت آخر، تغییرات مقادیر متغیر در هر دور حلقه است.
- عبارت users در مثال بالا، کاملا فرضی و انتخابی است، معمولا از عبارت i بدین منظور استفاده می کنند.
- دقت کنید که در برنامه نویسی، حلقه هایی که می نویسید، باید در یک مرحله ای به پایان برسند، اگر بررسی شرط حلقه همیشه درست (true) باشد، دور تکرار آن تا بی نهایت ادامه می یابد و این سبب ایجاد یک باگ یا نقض بزرگ در برنامه شما و نهایتا باعث از کار افتادن مرورگر کاربر یا سرور خواهد شد.
در مثال زیر، یک اشتباه عمدی کرده ایم و حلقه را تا بی نهایت ادامه داده ایم، با کمی دقت متوجه خواهید شد.

[php]
//حلقه for تکرار تا بی نهایت!
for ($i=0; $i >= 0; $i++){
echo "کاربر شماره $i <br />";
}
[/php]

پایان قسمت 7
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

قسمت 8


(درصورت وجود مشکل در تایپ PM بدید)

بحث توابع در هر زبان برنامه نویسی، معمولا جزء موارد لاینفک آن زبان محسوب می شود، چرا که برنامه نویسان همواره در پی یافتن کوتاه ترین راه حل ها با کم ترین کدنویسی و در عین حال رسیدن به مقصود خود به بهترین شکل ممکن هستند، به همین خاطر است که به جای نوشتن چندین و چندباره کدها، یک بار آنها را در قالب توابع تعریف کرده و بعد از آن، ورودی مورد نظر خود را هنگام فراخوانی به تابع داده و خروجی دریافت می کنند، در واقع، توابع نقش دستگاه های تسهیل کننده را برای یک برنامه نویس بازی می کنند، با این مقدمه کوتاه، می پردازیم به ادامه آموزش php با مبحث توابع (Functions).
تابع (Function) چیست و چه کاربردی دارد؟
همان طور که در مباحث مربوط به جاوا اسکریپت گفتیم، توابع، الگوهای استاندارد و تعریف شده در زبان های برنامه نویسی و از جمله در php هستند که پس از دریافت مقادیری به عنوان ورودی، در خود، پردازش خاصی را انجام می دهند، حاصل این پردازش به عنوان خروجی در ادامه برنامه قابل استفاده است، به فرض تصور کنید بخواهید تعداد 100 کیک را ظرف یک روز آماده کنید، مسلما انجام این کار به صورت دستی و تک به تک، انرژی و مدت زمان زیادی می طلبد، اما اگر یک الگوی تعریف شده برای یک ماشین پخت کیک ایجاد کنید و مواد اولیه و تنظیمات مورد نیاز را به آن بدهید، در عرض چند دقیقه، به هدف خود خواهید رسید، بحث توابع نیز بی شباهت به مثال عنوان شده نیست، در واقع توابع در php (و در دیگر زبان های مشابه) به جهت اجتناب از دوباره نویسی کدهای پرکاربرد، استفاده می شوند.
شیوه نگارش (syntax) تابع در php
شیوه نگارش (syntax) توابع در php شباهت زیادی به دیگر زبان پرکاربرد وب، یعنی جاوا اسکریپت دارد، به مثال زیر توجه کنید.

[php]

//تعریف تابع
function test(){
echo "این یک تابع در php است";
}

[/php]
توضیح:
- توابع در php با عبارت function تعریف می شوند.
- نام توابعی که تعریف می کنیم، معمولا می تواند عباراتی دلخواه باشد، اما انتخاب نام به صورت عددی یا دارای کارکترهای خاص، مجاز نیست.
- اگر تابع بالا را در هر جا از کد خود فراخوانی کنید، عبارت دستور echo به خروجی ارسال می شود.
فراخوانی تابع بالا می تواند به صورت زیر باشد:
[php]

//تعریف تابع
function test(){
echo "این یک تابع در php است";
}
//فراخوانی تابع
test();

[/php]
آخرین ويرايش توسط 1 on shahin2010b, ويرايش شده در 0.
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

قسمت 9

PHP Forms

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

برای مثال شما یک فرم عضویت می سازید و کاربر مشخصات را پر می کند و پس از کلیک روی دکمه ی عضویت شخص یا کاربرمشخصات را می بینه و تایید می کنه و عضو سایت شما می شه.

در این آموزش از فرم های ساده شروع می کنیم سپس در آموزش های بعدی به mysql متصل می شیم و اطلاعات در اون ثبت می کنیم همچنین راه های جلوگیری از sqli در اسکریپت یا ... بررسی می کنیم

برای شروع نیاز به یک فرم به صورت html دارید

توضیح : در فرم html باید ابتدا یک فرم ایجاد کنید و سپس قسمت form action برای مثال روی sign.php تنظیم می کنیم و method هم post تنظیم می کنیم

نمونه کد html :

کد: انتخاب همه

<html>
<body>
<form action="sign.php" method="post">
Name: <input type="text" name="fname">
Age: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>

تا الان تازه فقط 50٪ کار انجام شده . مرحله ی بعدی باید محتوای فایل sign.php را تکمیل کنیم :

کد: انتخاب همه

<html>
Welcome <?php echo $_POST["fname"]; ?>!<br>
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>


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

ادامه دارد...
آخرین ويرايش توسط 1 on shahin2010b, ويرايش شده در 0.
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

ادامه ی قسمت 9

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

در این قسمت یاد خواهید گرفت با استفاده از یک صفحه این فرم را ایجاد کنید، یعنی نیازی به ایجاد دو صفحه نیست !

قبل از شروع لازم است ابتدا وظیفه ی تابع isset را یاد بگیرید.

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

ابتدا یک فایل به اسم exam.php درست کنید،سپس با استفاده از کد های زیر آنرا پر می کنیم :

[php]
echo
"<form action='exam.php' method='post'>".
"Your Name : "."<input type='text' name='fname' />".
"<br>".
"Your Email : "."<input type='text' name='email' />".
"<input type='submit' value='Send' />".
"</form>";

if(isset($_POST['fname']) && ($_POST['email'])){
echo
"Welcome : ".$_POST['fname'].
"<br>".
"Your Email : ".$_POST['email'];
}

[/php]


توضیحات :

یک فایل به اسم exam.php درست کردیم و با زبان php در آن نوشتیم، ابتدا با دستور echo اومدیم کد هایی که قبلا در html استفاده می شد را در php نمایش دادیم.

فرمی ایجاد کردیم که action آن آدرس همان exam.php است ، سپس 2تا فیلد اضافه کردیم که اسم و ایمیل را از شما می گیره و با استفاده از دکمه مقادیر را ارسال می کنه.

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

تا زمانی که دو مقدار ایمیل و اسم پر نباشه هیچ چیزی نشان داده نمیشه.

می توانید با استفاده از همین کد ها آنرا در هاست خود یا روی لوکال هاست تست کنید تا بهتر نحوه ی عملکرد کد هارا یاد بگیرید.

در قسمت 10 یاد خواهید گرفت که ابتدا مقادیر پر شده را نشان دهد و در صورت درست بودن آنرا ایمیل کند و پس از آن کار با دیتابیس را یاد خواهید گرفت
takkk
کاربر جدید
کاربر جدید
پست: 97
تاریخ عضویت: یک‌شنبه ۳۰ تیر ۱۳۹۲, ۳:۲۲ ب.ظ
تشکر شده: 18 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط takkk »

ما که یادنگرفتیم
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

takkk نوشته شده:ما که یادنگرفتیم

شما اگر کامل خونده بودید در اولین پست نوشته بودم :


لطفا تا آخر آموزش ها هیچ گونه سوالی نفرمایید و بگذارید تاپیک فقط جنبه ی آموزش داشته باشد.


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

پس اینکه یاد نگرفتید مشکل از آموزش نیست !

تمام متن هارا کامل بخونید و تمرین هارا روی لوکال هاست انجام دهید
shahin2010b
کاربر فعال
کاربر فعال
پست: 929
تاریخ عضویت: جمعه ۱۴ آبان ۱۳۸۹, ۱۲:۰۰ ق.ظ
تشکر کرده: 32 دفعه
تشکر شده: 313 دفعه
تماس:

Re: آموزش PHP مبتدی تا حرفه ای

پست توسط shahin2010b »

قسمت 10

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

ابتدا یک فایل به اسم exam.php بسازید و در آنرا در هاست یا لوکال انتقال دهید.

کد زیر را در آن وارد کنید :

[php]

echo
"<form action='exam.php' method='post'>".
"Your Name : "."<input type='text' name='fname' />".
"<br>".
"Your Email : "."<input type='text' name='email' />".
"<input type='submit' value='Check' />".
"</form>";

if(isset($_POST['fname']) && ($_POST['email'])){
$fname=$_POST['fname'];
$em=$_POST['email'];
echo
"Name : ".$fname.
"<br>".
"Your Email : ".$em.
"<form action='exam.php' method='post'>".
"<input type='hidden' name='val1' value='$fname' />".
"<input type='hidden' name='val2' value='$em' />".
"<input type='submit' value='Send' />".
"</form>";
}
if(isset($_POST['val1']) && ($_POST['val2'])){
$to='Reciever!!';
$subject = 'Subject';
$message = 'Name : '.$fname."<br>"."Email : ".$em;
$from = "Your Email";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: '.$from."\r\n" ;
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
mail($to, $subject, $message, $headers);
echo " SEND ";
}
[/php]

با استفاده از این کد یک فرم را ایجاد کرده اید که 2 مقدار name و email را می توانید وارد کنید و سپس توسط کاربر بررسی و بعد از آن در صورت صحیح بودن ایمیل خواهد شد.

نکته : به صورت معمول در لوکال ارسال ایمیل امکان پذیر نمی باشد !

توضیحات کامل :

با تابع isset مقادیر $_POST['fname'] و $_POST['email'] را بررسی می کنیم که وجود دارد یا خیر !

درصورت وجود داشتن آن را نمایش داده و سپس یک فرم دیگر ایجاد کرده و به صورت hidden مقادیر را وارد می کنیم برای ارسال !

در قسمت بعدی دوباره وجود مقادیر را بررسی می کنیم.

حال در صورتی که مقادیر وجود داشته باشد :

شما باید در روبروی متغییر $to ایمیل شخص دریافت کننده که می توانید خودتان یا هرکس دیگر باشد را پر کنید.

در متغییر $subject می توانید موضوع ایمیل را مشخص کنید.

متغییر $from باید ایمیل را وارد کنید که قصد ارسال با آن را دارید.

در نهایت ایمیل ارسال خواهد شد.

درصورتی که سوالی دارید لطفا از طریق پیغام خصوصی ارسال کنید تا در قسمت بعدی همه ی سوال ها پاسخ خواهد داده شد.

لطفا سوالات خودرا در اینجا بیان نکنید...

ویرایش شد { با تشکر از کاربر عزیز javadfarah برای گزارش }

قسمت بعدی : آموزش کار با دیتابیس
آخرین ويرايش توسط 1 on shahin2010b, ويرايش شده در 0.
موضوع جدید ارسال پست

بازگشت به “آموزش و مقالات - Learning & Articles”