Post و Get در PHP

خمونطور که عملا تو درس فرم ها دیدید، برای جمع آوری اطلاعات ارسال شده توسط تگ form از متغیرهای از پیش تعریف شده‌ی POST_$ و GET_$ استفاده میکنیم.

 

GET_$

از GET_$ برای دریافت اطلاعاتی که با متد GET که در تگ form مشخص شده استفاده میکنیم.

  • هنگامی که متد ارسال اطلاعات در تگ form رو روی GET تنظیم کنید (“method=”GET) اطلاعات در URL نمایش داده میشن بنابراین برای ارسال اطلاعات مهم مثل پسورد نباید از این متد استفاده بشه.
  • برای ارسال مقادیر بزرگ نباید از این متد استفاده بشه چون طول اطلاعات ارسالی نمیتونه بیشتر از ۲۰۰۰ کاراکتر باشه. در صورت رعایت نکردن این مهم با خطای Request-URI Too Large مواجه میشید.

POST_$

از POST_$ برای دریافت اطلاعاتی که با متد POST که در تگ form مشخص شده استفاده میکنیم.

  • برخلاف متد GET، در متد POST اطلاعات در URL نمایش داده نمیشن پس برای ارسال اطلاعات مهم مناسبه.
  • با استفاده از این متد میتونید حجم بسیار زیادی از اطلاعات رو ارسال کنید. البته بصورت پیشفرض حداکثر اطلاعات میتونه ۸ مگابایت باشه که در فایل php.ini مشخص شده، برای کم کردن محدودیت میتونید مقدار post_max_size رو افزاریش بدید.

ادامه‌ی خواندن

حلقه های بی نهایت

اشتباهات کوچیک در نوشتن حلقه ها میتونه باعث بی نهایت شدن اون بشه. حلقه های بی نهایت (infinite loops) فشار زیادی روی CPU وارد میکنن و میتونن باعث فریز شدن یا هنگ کردن کامپیوتر، ایجاد Deadlock یا Segfault بشن.

نکته:  منظور ما از حقله های بی نهایت، حلقه های بی نهایتی هستند که در بین تکرارها هیچ توقفی وجود نداره در غیر اینصورت حلقه های بی نهایت بسیار مفید و کاربردی اند.

 

حلقه بی نهایت چطور بوجود میاد؟

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

ادامه‌ی خواندن

حلقه foreach در PHP

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

 

Form 1- Syntax

foreach (array_expression as $value)
   {
   statement
   }

در این فرم، حلقه به ازای هر ایتم در آرایه اجرا میشه و در هر تکرار مقدار المنت جاری در متغیر value$ قرار میگیره.

 

Form 2- Syntax

foreach (array_expression as $key => $value)
   {
   statement
   }

این فرم ویژگی فرم بالا رو داره به علاوه، کلید هر آیتم آرایه ( در آرایه های اندیسی(Indexed array) عدد و در آرایه های متحد(Associative array) نام ایتم مشخص شده) رو هم در Key قرار میده.
ادامه‌ی خواندن

حلقه For در PHP

حلقه For رو میشه پرکاربرد ترین حلقه دونست علتش هم انعطاف پذیری بالای این حلقست، معمولا از این حلقه برای استفاده از شمارنده[های] اون که در هر مرحله کم یا زیاد میشه استفاده میشه که در ادامه توضیح میدیم.

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

 

Syntax

for (init; condition; step)
  {
  code to be executed;
  }

 

Colon Syntax

for (init; condition; step):
  code to be executed;
endfor;

ادامه‌ی خواندن

حلقه Do while در PHP

حلقه Do while ویرایش شده حلقه while هست که در درس قبلی توضیح دادیم. تنها فرق این حلقه اینه که شرط بعد از اجرا شدن کدها بررسی میشه پس در حلقه Do while  کدهای داخل بلاک حداقل یک بار اجرا میشن.

Syntax

do
  {
  code to be executed;
  }
while (condition);

 

ادامه‌ی خواندن

حلقه While در PHP

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

 

حلقه ها در PHP

  •  While – تا زمانی که شرط داده شده درست باشد کدهای داخل بلاک را اجرا میکند.
  • DoWhile – یک بار کدهای داخل بلاک را اجرا کرده و بعد از آن شرط را بررسی میکند اگر درست بود به کارش ادامه میدهد.
  • For – به تعداد دفعاتی که مشخص میکنیم کدهای داخل بلاک را اجرا میکند.
  • Foreach – به ازای هر آیتم در یک آرایه  کدهای داخل بلاک را اجرا میکند.

ادامه‌ی خواندن

مرتب سازی آرایه ها در PHP

در زبان PHP ما میتونیم براحتی آرایه ها رو مرتب سازی کنیم، مرتب سازی آرایه ها میتونه بصورت الفبایی(alphabetical) ، شماره ای(numerical) و صعودی(Ascending) و یا نزولی(Descending) باشه.

 

توابع آماده PHP برای مرتب سازی آرایه ها

  • ()sort – آرایه را بصورت صعودی مرتب میکند.
  • ()rsort – آرایه را بصورت نزولی مرتب میکند.
  • ()asortآرایه متحد را بر طبق مقدار(value) و بصورت صعودی مرتب میکند.
  • ()ksort – آرایه متحد را بر طبق کلید(key) و بصورت صعودی مرتب میکند.
  • ()arsort –  آرایه متحد را بر طبق مقدار(value) و بصورت نزولی مرتب میکند.
  • ()krsort –  آرایه متحد را بر طبق کلید(key) و بصورت نزولی مرتب میکند.

ادامه‌ی خواندن

آرایه ها در PHP

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

 

چرا از آرایه ها استفاده کنم؟

اگر این اولین باره که تعریف آرایه رو میشنوید شاید بطور کامل متوجه مفهوم اون نشید. همونطور که گفتیم آرایه یه متغیر خاصه که میتونه چندین مقدار در خودش ذخیره کنه. تصور کنید که میخواین اسم ۵۰ نفر رو ذخیره کنید در این صورت اگر از آرایه استفاده نکنید باید برای هر مقداری یک متغیر تعریف کنید!  معلومه که این کار اصلا عاقلانه نیست! به علاوه وقتی از آرایه استفاده میکنیم خیلی راحت میتونیم به تمام مقادیر ذخیره شده دسترسی داشته باشیم.

 

ایجاد آرایه در PHP

در زبان PHP برای ایجاد آرایه از تابع ()array استفاده میشه.

 

انواع آرایه در PHP

  • آرایه های اندیسی (Indexed Arrays) – مشخص کننده آیتمهای این نوع آرایه عددها هستند.
  • آرایه های متحد یا انجمنی (Associative Arrays) –  مشخص کننده آیتمهای این نوع آرایه نامی است که برای آنها در نظر گرفته میشود و به آن key یا کلید میگوییم.
  • آرایه های چند بعدی (Multidimensional arrays) – آرایه هایی که خودشان حاوی یک یا چند آرایه هستند.

ادامه‌ی خواندن

توابع در PHP

میشه تعریف های زیادی برای تابع اورد اما چیزی که مشخصه تابع اسمیه که ما به یک بلاک کد میدیم تا هر وقت صداش کردیم یه سری کارها رو برای ما انجام بده. قدرت واقعی PHP از توابعی که داره سرچشمه میگیره. در PHP بیش از ۷۰۰ تابع وجود داره که هر کدوم کارهای خاصی انجام میدن.

چرا و چه وقت از توابع استفاده کنم؟ 

استفاده از توابع اسکریپت هایی که مینویسیم رو بسیار خوانا تر میکنه. ما میتونیم تابع رو یک بار بنویسیم و بعد در هر جای صفحه و بارها اون رو فراخوانی کنیم. پس مجبور نیستیم کدهای تکراری بنویسیم.

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

ادامه‌ی خواندن

فرم ها در PHP

اگر دقت کرده باشید کمتر میبینید تو یه اسکریپت PHP از از تگ form استفاده نشده باشه. از فرمها برای ارسال اطلاعات به فایل خاصی استفاده میشه و توسط متغیرهای از پیش تعریف شده  GET ، $_POST_$ و REQUEST_$ میشه اطلاعات ارسال شده رو دریافت کرد. اما معمولا از REQUEST_$ زیاد استفاده نمیشه.

مثال:

ما دو فایل با نامهای index.php و  welcome.php ایجاد میکنیم ، در فایل اول  ما یک فرم html ، دو کادر متنی و یک دکمه submit داریم:

ادامه‌ی خواندن