آموزش PHP

آموزش PHP

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

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

سر فصل هایی که در این آموزش یاد خواهید گرفت؟

آشنایی با PHP

  • PHP چیست ؟
  • PHP چه کارهایی می تواند انجام دهد ؟
  • چرا باید زبان برنامه نویسی PHP را یاد بگیرم؟
  • تاریخچه و ورژن های زبان PHP
  • بزرگترین سایت هایی که با PHP پیاده سازی شدند

پیش نیاز های یادگیری PHP

  • ابزار و بستر مورد نیاز برای برنامه نویسی PHP
  • وب سرور چیست؟
  • آموزش راه اندازی وب سرور محلی XAMPP در ویندوز
  • آموزش نصب ادیتور Microsoft VSCode

آموزش مقدماتی PHP

  • نوشتن اولین برنامه زبان PHP
  • آموزش سینتکس (قواعد نوشتاری) زبان PHP
  • آموزش انواع کامنت گذاری در PHP
  • آشنایی با انواع داده ها و متغیرها در زبان برنامه نویسی PHP
  • آشنایی با عملگر ها در PHP
  • آموزش کار با آرایه ها در PHP
  • آموزش دستور Echo و Print در زبان PHP
  • آموزش کار با رشته ها در PHP
  • ثابت ها در PHP
  • آموزش دستورات شرطی در زبان برنامه نویسی PHP
  • آموزش حلقه ها و ساختارهای تکرار در زبان برنامه نویسی PHP
  • آموزش توابع در PHP
  • آموزش آرایه های سوپر گلوبال

آموزش پیشرفته PHP

  • آموزش فرم در PHP
  • آموزش کار با تاریخ و زمان در PHP
  • آموزش مدیریت فایل های در PHP
  • آموزش کار با کوکی ها در PHP
  • آموزش کار با سشن ها در PHP
  • آشنایی با شی گرایی در PHP

زبان برنامه نویسی PHP چیست و چه کاربردی دارد؟

PHP در ابتدا، مخفف واژگان Personal Home Page بود که در سال 1994 توسط Rasmus Lerdorf نوشته شد. PHP یک زبان برنامه نویسی متن باز است که امروزه به صورت گسترده برای توسعه طراحی وب استفاده می شود. پی اچ پی روی سرور اجرا می شود و به صورت رایگان در اختیار عموم قرار دارد. PHP یک زبان محبوب و قدرتمند است، به همین دلیل فیس بوک در برنامه نویسی و توسعه خود از آن استفاده کرد. و در هسته بزرگترین سیستم تولید محتوای جهان (وردپرس) با زبان برنامه نویسی PHP توسعه پیدا کرده است.PHP یک زبان آسان برای یادگیری برنامه نویسی سمت سرور است که می توانید همین الان شروع به یادگیری پی اچ پی کنید.

PHP چه کارهایی می تواند انجام دهد ؟

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

چرا PHP را یاد بگیریم ؟

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

تاریخچه نسخه های مختلف PHP

PHP معمولا انتخاب برتر برنامه نویسان برای توسعه برنامه های تحت وب است. دلیل اصلی استفاده از آن سهولت در ساختار و درک ساده این زبان است. امروزه PHP رایج ترین زبان برای توسعه برنامه های وب است. این زبان در تولید بیش از ۵۲،۰۰۰،۰۰۰ وب سایت در اینترنت نقش داشته است. 

در رابطه با تاریخچه PHP می توان گفت که توسعه PHP از سال ۱۹۹۴ آغاز شد. زمانی که یک برنامه نویس مستقل به نام راسموس لردورف (Rasmus Lerdorf)، اسکریپتی را به زبان Perl/CGI نوشت که توسط آن توانست متوجه شود چه تعداد بازدید کننده در حال خواندن رزومه آنلاین او هستند. اسکریپت وی دو کار را انجام میداد: اطلاعات کاربران را ثبت می کرد و تعداد بازدید کننده ها را در صفحه نمایش می داد.

بزرگترین سایت هایی که با PHP پیاده سازی شدند

بسیاری از سایت هایی که در طول روز مشاهده می کنید از زبان PHP قدرت گرفته اند. اگر برنامه نویس PHP هستید یا به تازگی کار با این زبان را شروع کرده اید، باید بدانید که زبان انتخابی شما بیشتر از 70% وب را تشکیل داده است. Syntax زبان PHP شبیه به زبان برنامه نویسی C است و این مورد باعث شده که برنامه نویسان بهتر بتوانند با آن ارتباط برقرار کنند، این زبان با دیتابیس های معروفی مثل MySQL یا MongoDB کار می کند. همینطور PHP چندسکویی یا Cross Platform بوده و روی سیستم های ویندوز، لینوکس و مک اجرا می شود.

سایت FaceBook

داستان شکل گیری فیس بوک در نوع خود جالب است. پیشنهاد می کنیم فیلم Social Networks را حتما تماشا کنید. در این فیلم زندگی مارک زاکربرگ با بازی جذاب Jesse Eisenberg به نمایش گذاشته شده است. فیس بوک زمانی که مارک زاکربرگ دانشجو بود توسط او و چند نفر از هم اتاقی هایش در دانشگاه ساخته شد. بعد از چند سال آنها از یک خوابگاه کوچک در دانشگاه، تبدیل به یکی از بزرگترین برندهای تکنولوژی دنیا شدند.

سایت Wikipedia

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

سایت Yahoo

یاهو یکی از برندهای قدیمی در حوزه تکنولوژی است. موتور جستجو یاهو در سال 1995 با زبان PHP ساخته شد و هنوز هم بعد از 25 سال از این زبان استفاده می کند. یاهو یک سایت خبری به حساب می آید که داخل آن یک موتور جستجو قرار گرفته است. این سایت در ماه میزبان 7 میلیارد کاربر از سراسر جهان است و مدت زیادی می شود که در لیست 10 سایت پرترافیک دنیا قرار دارد. استفاده یاهو از PHP نشان می دهد که این زبان می تواند در پروژه های بزرگ و پیچیده به خوبی استفاده شود.

سایت WordPress

تقریبا تمام وب مسترهای دنیا وردپرس را می شناسند. یک سیستم مدیریت محتوا قدرتمند که بیشتر از 30% سایت ها در کل شبکه اینترنت به کمک آن ساخته شده اند. وردپرس با زبان PHP و پایگاه داده MySQL طراحی شده است و قابلیت‌های بسیار متنوعی در اختیار کاربران خود قرار می دهد. تمام این قابلیت ها به اضافه هسته امن و منعطف وردپرس با زبان برنامه نویسی PHP نوشته شده اند.

پیش نیاز های یادگیری PHP

پیش نیازهای یادگیری PHP به دو دسته پیش نیازهای فنی و غیرفنی تقسیم می شوند. از جمله مهمترین پیش نیاز های غیرفنی برای ورود به دنیای برنامه نویسی می توان به داشتن انگیزه و هدف گذاری مناسب، آشنایی با زبان انگلیسی، آشنایی با الگوریتم و ریاضیات، تایپ کردن، آشنایی با کامپیوتر و اینترنت اشاره کرد.

نکته : ممکن بعضی از پیش نیازهای غیرفنی یا عمومی مانند داشتن انگیزه و زمان کافی را به صورت پیش فرض داشته باشید. البته این موارد مانند پیش نیازهای فنی نیاز به تقویت و پرورش دارند. زیرا در بعضی مواقع اهمیت آن ها نسبت به پیش نیازهای فنی به مراتب بیشتر است.

منظور از پیش نیازهای فنی برای یادگیری PHP داشتن آشنایی خوبی با زبان HTML و CSS است. HTML و CSS به شما کمک می کنند تا بتوانید نتایج نهایی کدهای خود را به صورت زیبا و کاربردی به کاربر نمایش دهید. البته یادگیری زبان PHP به صورت مستقل و اصطلاحا Pure (خالص) بدون یادگیری HTML و CSS امکان پذیر است. اما از آنجایی که قصد شما یادگیری PHP به منظور طراحی سایت و وب اپلیکیشن است این موارد جزو پیش نیازهای فنی یادگیری PHP به حساب می آیند.

بنابراین اگر بخواهیم به صورت کلی پیش نیازهای اساسی ( فنی و غیرفنی ) برای یادگیری PHP را جمع بندی کنیم، به صورت زیر مطرح می شوند:

  • داشتن وقت و انگیزه کافی
  • آشنایی مقدماتی برای کار با کامپیوتر و اینترنت
  • آشنایی با طراحی وب مقدماتی شامل HTML و CSS

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

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

وب سرور

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

XAMPP

نرم افزار زمپ ویندوز شما را تبدیل به یک سرور مجازی می کند و شما با استفاده از این نرم افزار می توانید کدهای PHP خود را پردازش و اجرا نمائید، همچنین می توانید MySql را نیز با استفاده از این شبیه ساز نصب نمائید.

آموزش نصب و راه اندازی نرم افزار XAMPP

  1. در ابتدا از این لینک نرم افزار XAMPP را دریافت نمائید.
  2. پس از اینکه این نرم افزار را دانلود نمودید، آن را اجرا کرده و پس از انتخاب زبان مورد نظر خود، آن را با زدن چندok , next نصب نمائید (فرض ما در این است که شما در درایو C این نرم افزار را نصب نموده اید).
  3. پس از دریافت پیغام Congratulations! روی دکمه Yes کلیک نمائید و در پنجره ای که نمایان می شود، بر روی دو قسمت Apache و MySql گزینه Start را کلیک نمائید.

  • حال در ویندوز شما PHP و MySql نصب شده است. هم  برای اینکه صحت نصب این موارد را تست کنید مسیر زیر را دنبال نمائید :

C:\xampp\htdocs\xampp

  • سپس در این پوشه یک فایل Notepad را ایجاد نمائید و آن را با نام phpinfo.php ذخیره نمائید و آن را در notepad بدین گونه ویرایش نمائید :
<?php
      phpinfo();

پس از ذخیره کردن فایل، آدرس زیر را در مرورگر خود تایپ نمائید :

http://localhost/xampp/phpinfo.php

پس از اینکه enter را بزنید، اگر php شما به درستی نصب شده باشد، صفحه ای مانند شکل زیر را مشاهده می نمائید :

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

آموزش نصب ادیتور Microsoft VSCode

ابتدا نرم افزار Visual Studio Code را از سایت رسمی مایکروسافت دانلود کنید.

سپس بدون دستکاری در موارد پیش فرض نصب نرم افزار Visual Studio Code روی Next کلیک کنید و تا انتهای مراحل نصب مطابق تصویر زیر عمل کنید.

آموزش مقدماتی رایگان PHP

نوشتن اولین برنامه زبان PHP

در مسیری که XAMPP را نصب کردیم "C:\xampp" پوشه ای به اسم "htdocs" وجود دارد، درون آن فولدری به نام "hello" می سازیم . سپس کدهای زیر را در Notepad می نویسیم.

برنامه ای که در زیر نشان داده می شود یک نرم افزار ساده PHP است که عبارت "Hello World" رو در مرورگر نمایش می دهد:

<?php 
    echo "Hello World"; 

این فایل کدی را در فولدر "hello" و به نام "hello.php" ذخیره می کنیم. دقت کنید که حتما پسوند فایل .php باشد.

بعد از این که اولین برنامه را به زبان PHP نوشتیم برای دیدن خروجی کدها باید حتما هر دو سرویس  apache و mysql در XAMPP سبز باشند.

نرم افزار xampp
برای دیدن خروجی مرورگر را باز می کنیم و به آدرس http://127.0.0.1/hello/hello.php  می رویم و خروجی کد بالا را مشاهده میکنیم.

Hello

آموزش سینتکس (قواعد نوشتاری) زبان PHP

کدهای php به منظور متفاوت بودن برای مفسر php نیاز دارند تا به شکل خاصی استایل دهی شوند. مکانیزم انجام این کار "escaping to php" نام دارد و به 2 روش پیاده سازی می شود:

  • Canonical php tags : عمومی ترین و موثرترین شکل تعریف بلاک کدهای php استفاده از استایل زیر است:
<?php
    // کد ها

  • Short-open : این سینکتس بصورت زیر می باشد :

این نوع نگارش کوتاه ترین روش ممکن است که برای استفاده از آن نیاز به فعال سازی short_open_tag در php.iniدارید.

<?
    echo '<p>Hello, World!</p>'; 

آموزش انواع کامنت گذاری در PHP

هر کدی که بین تگ های باز و بسته PHP قرار گیرد، به عنوان دستور اطلاق شده و پردازش می گردد. مگر اینکه با استفاده از علامت گذاری های خاصی این خط های دستوری را به توضیح (Comment) تبدیل نمائید که در این صورت کد مورد نظر پردازش نمی شود. کامنت گذاری برای دستورات، فایده بسیار زیادی در راهنمایی دارد :

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

برای اضافه کردن توضیحات در PHP چند روش وجود دارد :

  • کامنت گذاری تک خطی: به صورت کلی برای توضیحات کوتاه یا نکته های مربوط به کد استفاده می شوند.
<?php
    # This is a comment
    # This is another comment
    // This is another comment too, But with another style
  • کامنت گذاری چند خطی: به صورت کلی برای نوشتن شبه کدهای یک الگوریتم و توضیحات با جزئیات بیشتر، در موارد لزوم استفاده می شوند. استایل کامنت گذاری چند خطی در php مانند زبان c به شکل زیر است:
<?php
    /* This is a comment with multiline
    Author : 7learn
    Subject : PHP*/

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

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

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

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

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

نمونه ای از تعریف متغیر :

<?php
   $profile;
   $book;

نکات مهم تعریف متغیر از PHP:

  • تمام متغیرها در PHP با علامت $ شروع می شوند.
  • مقدار فعلی یک متغیر، آخرین مقداری است که به آن نسبت داده شده است.
  • مقادیر با اپراتور = به متغیرها نسبت داده می شوند. متغیر در چپ و مقدار در سمت راست قرار می گیرد.
  • نیازی به تعریف متغیرها قبل از استفاده نیست.
  • متغیر نمی تواند نوع خاصی داشته باشد و می تواند برای ذخیره سازی انواع داده ها استفاه شود.
  • متغیر های PHP مانند Perl هستند.

نام متغیرها حتما باید با یک کلمه و یا _ شروع شود و می تواند متشکل از اعداد، حروف و _ باشد.

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

  • Integer: تمام اعداد صحیح 5 و -5
  • Double: همه اعداد اعشاری مانند 3.245
  • Boolean: تنها می تواند دو مقدار true و false داشته باشد.
  • Null: یک نوع خاص که مقدار پوچ دارد.
  • String: دنباله ایی از کاراکترها. مانند "7learn"
  • Array: مجموعه ای نام گذاری شده و شاخص دار از دیگر مقادیر
  • Object: نمونه ای از کلاس ها
  • Resources: نوع خاصی از متغیرها که رفرنس هایی به منابع خارجی مانند اتصالات دیتابیس را نگهداری می کنند.

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

نکته : برای انتخاب نام یک متغیر، شما آزادی کامل دارید ولی یک استثنا وجود دارد و ان هم نام $this است، این نام متغیر از نسخه 3 بعد زبان php برای کلاس ها نامی رزرو شده است  چون از نسخه 3 به بعد php، قابلیت شی گرایی به این زبان افزوده شد.

مثال زیر را مشاهده نمائید :

<?php
    $name    = 'milad';
    $sum     = 10;
    $average = 20;

همانطور که قطعه کد فوق را مشاهده می نمائید در دستور اول در متغیر sum، مقدار 10 قرار میگیرد. دستور دوم مقدار 20 را در average قرار می دهد و در دستور سوم مقدار name برابر با نام میلاد می شود .

همانطور که در مثال بالا مشاهده نمودید برای مقدار دهی دو متغیر sum و average از علامت کوتیشن استفاده نکردیم اما برای مقدار دهی به متغیر name از کوتیشن استفاده کردیم. برای مقدار دهی یک کلمه، حرف و یا جمله یا بهتر بگویم یک رشته از کوتیشن استفاده می کنند.

انواع داده پشتیبانی شده توسط PHP

انواع داده ها در PHP شامل بولین، عدد صحیح، عدد اعشاری، رشته های متنی و آرایه ها می باشند.

بولین ( Boolean) :

این نوع داده ای فقط شامل دو مقدار می باشد (درست و غلط )یعنی TRUE و FALSE. برای TRUE مقدار 1 و برای FALSE مقدار 0 در نظر گرفته شده است :

<style>
    p{
        text-align: left;
        background-color: #ddd;
        padding: 5px;
        border-radius: 5px;
        color: red;
    }
    span{
        color: #0ea1d0;
    }
</style>
<p>
    <?php
    $value = false; // is false
    $value = 1; // is true
    $value = -1; //is false
    $value = 5; //is true
    $value = 0; //is false
    echo '<span> Current Value is =>  '. $value . '</span>' // 0
    ?>
</p>

استثنا: با این که رشته ها باید در داخل کوتیشن قرار گیرند، اما مقادیر true و false نباید در کوتیشن باشند. همانطور که در کد بالا ملاحظه می نمائید مقدار false را در کوتیشن قرار نداده ایم اگر این مقادیر را در داخل کوتیشن قرار دهید آن ها تبدیل به رشته false و true می شوند.

اعداد صحیح (Integer ) :

یک عدد صحیح به صورت یک عدد کامل نمایش داده می شود یا به عبارتی دیگر شامل هیچ قسمت اعشاری نیست مانند :

<?php
    $value = 50;
    $book  = 100;
    echo   $value;
    echo '<br>';
    echo   $book;

اعداد اعشاری (Double) :

اعداد اعشاری دارای نقطه اعشار هستند که به شما اجازه می دهند قسمت کسری را مشخص نمائید :

<?php
    $value = 2.5;
    $book  = 5.75;
    echo $value;
    echo '<br>';
    echo $boo

رشته های متنی (String) :

رشته های متنی می توانند حاوی یک کاراکتر، یک کلمه یا یک جمله باشند که باید حتما آن ها را در داخل کوتیشن قرار داد:

<?php
    $lname = "ghadimi";
    $book  = "php";
    $email = "yahoo";

آرایه ها (Arrays) :

آرایه مجموعه ای از متغیر های مربوط به یکدیگر است مثلا شما شهر تهران را یک آرایه در نظر بگیرید که مناطق 22 گانه آن مقادیر آرایه هستند.

آرایه ها در زبان php به 3 صورت نوشته می شوند :

  • آرایه ایندکسی ( شاخص عددی) 
<?php
     $tehran = array('m1' , 'm2' , 'm3' , 'm4');

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

<?php
    $tehran[0] = 'm1';
    $tehran[1] = 'm2';
    $tehran[2] = 'm3';
    $tehran[3] = 'm4';
  • آرایه شاخص رشته ای 

شما می توانید به جای شاخص گذاری عددی از رشته ها استفاده کنید که بدین صورت می باشد :

<?php
    $ages['Peter']    = "32";
    $ages['Joe']      = "34";
    $ages['Quagmire'] = "30";
    echo "Peter is " . $ages['Peter'] . " years old.";

در مثال بالا ، مثلا شاخص peter دارای مقدار 32 است. شاخص گذاری رشته ای را به گونه ی دیگری نیز می توانید تعریف نمائید :

<?php
    $ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
    var_dump($ages);

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

  • آرایه آرایه ها

شما آرایه آرایه ها را همانند جعبه ای در نظر بگیرید که درون آن تعداد زیادی پاکت وجود وجود دارد. این نوع آرایه را نیز می توانید به دو صورت تعریف نمائید :

  • نوع اول (شاخص گذاری عددی) 
<?php
    $families = array(
        "boy1" => array("majid", "porya", "mostafa"),
        "boy2" => array("hasan"),
        "boy3" => array("ahmad", "karim", "hamid")
    );

حال اگر بخواهیم یک مقدار مشخص را چاپ نمائیم اینگونه مشخص است :

<?php
    echo "Is " . $families['boy1'][2] . " a part of the team ?";
    // OutPut : Is Megan a part of the Griffin family?
  • نوع دوم (شاخص گذاری رشته ای ) :
<?php
    $image = array(
        array('file' => '1', 'alt' => "milad"),
        array('file' => '2', 'alt' => "hossein"),
        array('file' => '3', 'alt' => "ahmad"),
        array('file' => '4', 'alt' => "reza"),
        array('file' => '5', 'alt' => "not")
    );
    var_dump($image[0]['alt']); // milad

در قسمت فوق ، یک آرایه به نام image تعریف کرده ایم که همان جعبه ما می باشد. هر پاکت شامل دو بخش file و alt است.

نکته ای قابل توجه برای استفاده از  کوتیشن ها 

 ابتدا قطعه کد زیر ملاحظه نمائید :

<?php
    $book = 'this is milad's learn on the 7learn . ';

همانطور که شما ملاحظه کردید ما از کوتیشن منفرد استفاده کرده ایم ولی بخش milad's نیز دارای یک کوتیشن است. php فقط تا کلمه milad's را پردازش می کند و ادامه جمله را پردازش نمی کند:

کوتیشن در php

برای حل این مشکل می توانید یکی از راه های زیر را انتخاب نمائید :

<?php
     $book = "this is milad's learn on the 7learn . ";
     $book = 'this is milad\'s learn on the 7learn . ';

 ما قبل از آپستروف milad یک علامت \ (بک اسلش) استفاده کردیم پس در مواقع اینگونه می توانید از بک اسلش استفاده نمائید.

قلمرو متغیرها

با این که بهتر است متغیرهای مورد نیاز اسکریپت خود را در ابتدای برنامه معرفی کنید، اما می توانید آن ها را در هر جای اسکریپت معرفی نمائید. مکان معرفی کردن یک متغیر تاثیر بسیار در برای دسترسی به آن دارد. متغیرها در php از لحاظ قلمرو ، چهار نوع هستند :

  • متغیرهای محلی (Local Variable)
  • پارامترهای تابع
  • متغیرهای عمومی (Global Variable)
  • متغیرهای استاتیک (Static Variable)

آشنایی با عملگرها در PHP

عملگرها نمادهایی هستند که یک عمل خاص را در یک عبارت انجام می دهند. شما با بسیاری از عملگرها مانند جمع (+) و تفریق (-) از دوره دبستان آشنا هستید. در ابتدا شما را با انواع عملگرها آشنا خواهیم کرد:

عملگرهای محاسباتی

عملگردهای نسبت دهی

این عملگرها مقداری را به یک متغیر نسبت می دهند :

عملگرهای افزایشی و کاهشی

نکته :

امیدوارم متوجه شده باشید که تفاوت x++  و ++x در چیست اگر متوجه نشده اید به مثال زیر خوب دقت نمائید :

<?php
    $x = 10;
    $y;
    $y = ++$x;
    echo $x;
    echo '<br>';
    echo $y;

در کد فوق ابتدا یک واحد به متغیر x اضافه می شود و مقدار در y قرار می گیرد یعنی y برابر با 11 خواهد شد.

اما مثال زیر را هم ببینید :

<?php
    $x=10;
    $y;
    $y = $x ++;
    echo $y;

در کد بالا مقدار فعلی x در y قرار می گیرد (یعنی مقدار 10) و سپس یک واحد به x اضافه می شود. در این قسمت x برابر  با 11 می شود. حال برای آشنایی بیشتر به مثال زیر توجه نمائید:

<?php
    $x=10;
    $y=15;
    $m;
    $m = ++$x + $y++;
    echo $m;

در کد بالا ابتدا مقدار x یک واحد افزایش پیدا می کند و به علاوه مقدار فعلی y می شود (یعنی 15) و در متغیر m مقدار 26 قرار می گیرد و مقدار خود y برابر با 16 می شود.

عملگرهای مقایسه ای

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

عملگرهای منطقی

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

نکته :

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

استفاده از عملگر سه گانه

عملگرهای سه گانه با علامت سوال (؟) مشخص می شوند روش استفاده از این عملگرها بدین صورت می باشد:

<?php
    $age = 15;
    $compare = $age > 14 ? 'young' : 'child' ;
    echo $compare;

این شرط چک می کند که اگر سن شما بزرگتر از 15 سال بود مقدار متغیر compare را برابر با young قرار دهد در غیر اینصورت مقدار متغیر برابر با child می شود.

تقدم عملگرها

تقدم عملگرها در تمام زبان های برنامه نویسی چه سیستمی چه تحت وب بسیار مهم است و شما باید ترتیب این عملگرها را به خاطر داشته باشید. جدول زیر ترتیب عملگرها را در php به نمایش درآورده است :

مثال:

به نظر شما خروجی فوق چیست؟

<?php
    $result = 5 + 7 * 6 ; 
    echo $result;

 72 پاسخ صحیح نیست. در ابتدا 7 ضربدر 6 شده و سپس به علاوه 5 می شود پس خروجی برابر با 47 می باشد.

آموزش کار با آرایه ها در PHP

آرایه یک ساختمان داده می باشد که یک یا چند نوع مقدار مشابه را در خود نگهداری می کند. برای مثال اگر می خواهید 100 عدد را ذخیره کنید، به جای ایجاد 100 متغیر، از آرایه ایی به طول 100 استفاده کنید. سه نوع متفاوت از آرایه وجود دارد که مقدار هر یک با یک کلید قابل دسترسی می باشد که index یا شاخص نامیده می شود.

  • Numeric array: آرایه ای ک با اعداد index شده است.
  • Associative array: آرایه ای که دارای index های از نوع string می باشند.
  • Multidimensional array (چند بعدی): آرایه ای که یک یا چند آرایه دیگر را در خود دارد و مقادیر با زنجیره کردن چند شاخص قابل دسترسی هستند.

Numeric Array

این آرایه ها می توانند اعداد، رشته ها و هر شی ای را ذخیره کنند اما ایندکس آنها با اعداد نمایانگر خواهد بود. بصورت پیشفرض ایندکس های یک آرایه از صفر شروع می شوند.

مثال زیر نمایانگر چگونگی ایجاد آرایه و دسترسی به مقدار آن می باشد. در این مثال ما از تابع ()array برای ایجاد آرایه استفاده می کنیم.

<?php
    $numbers1=array(1,2,3,4,5);
    foreach($numbers1 as $number){
        echo '<p>'.$number.'</p>';
    }
   // روش دوم تولید آرایه         
    $numbers2[0]="one";
    $numbers2[1]="two";
    $numbers2[2]="three";
    foreach($numbers2 as $number){
        echo '<p>'.$number.'</p>';
    }
 

خروجی برابر زیر خواهد بود:

1

2

3

4

5

one

two

three

Associative Array

آرایه های associative مشابه numeric ها هستند با این تفاوت که index ها رشته می باشند و شما قادر خواهید بود یک ارتباط و وابستگی با معنی بین مقدار و index مشخص کنید. به نمونه زیر و ارتباط مقادیر و indexها دقت کنید:

<?php
$person = array(
'name' => 'Ali',
'family' => 'Alavi',
'age' => 26
);
echo "I am ". $person['name'] . $person['family'] ."and I'm" .$person['age'];

و در خروجی خواهیم داشت :

I am Ali Alavi and I'm 26

Multidimensional array (آرایه های چند بعدی)

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

<?php
        $movies = array(
            'leon'   => array(
                'director'     => 'Luc Besson',
                'Release data' => '1995'
            ),
            'legend' => array(
                'director'     => 'Brian Helgenland',
                'Release data' => '2016'
            )
        );
            echo $movies['leon']['director'];

در خروجی خواهیم داشت:

// Luc Besson

خاتمه دادن به دستورات در php

هر دستور در php با یک علامت (;) خاتمه می یابد ، همانطور که در کد های فوق ملاحظه کردید ، پس از تعریف متغیرها از علامت ; استفاده نمودیم.

آموزش دستور Echo و Print

تمام کارهایی که شما در پشت صحنه PHP انجام می دهید وقتی معنی پیدا می کنند که بتوانید آنها را مشاهده نمائید. دو روش برای نمایش نتایج در PHP وجود دارد:

  • استفاده از دستور echo
  • استفاده از دستور  print

 این دو دستور دقیقا کاربرد یکسانی دارند و یه تفاوتی با هم دارند که تفاوت دو دستور با هم بسیار ناچیز است:

echo بعد از انجام هیچ مقداری را بر نمیگرداند درحالی که print مقدار 1 را برمیگرداند که شاید در یک عبارت قابل استفاده باشد.

همچنین echo میتواند چندین پارامتر بگیرد (هرچند خیلی کم پیش می آید) درحالی که print تنها یک آرگومان میگیرد. echo از print سریعتر است.

دستور echo

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

طریقه استفاده از این دستور به صورت زیر می باشد :

<?php
    $name = 'milad';
    echo '<p>'.$name.'</p>';
    echo 5;
    echo 'David';

در قطعه کد بالا ابتدا یک متغیر به نام name تعریف کرده ایم و سپس این متغیر را چاپ نموده ایم. همچنین می توان مانند کد بالا مقدار مستقیمی  که در خط های بعدی نشان دادیم برای چاپ در نظر گرفت.

دستور print

این دستور نیز می تواند بدون پرانتز مورد استفاده قرار گیرد:

<?php
    print "Hello world";
    $name ="ali";
    print $name;

و در خروجی خواهیم داشت:

Hello world

ali

وصل کردن رشته های متنی به یکدیگر

php هم مانند زبان های برنامه نویسی دیگر دارای قابلیت الحاق کردن دو یا چند رشته را با یکدیگر دارد که برای این کار از یک نقطه (.) استفاده می نماید:

<?php
    $firstname = 'Mostafa';
    $lastname  = 'Ghadimi';
    echo $firstname . $lastname; // output : MostafaGhadimi

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

برای نمایش یک فاصله در خروجی (یعنی دو کلمه Mostafa و Ghadimi با فاصله چاپ شوند) می توانیم از کوتیشن استفاده نمائیم :

<?php
    $firstname = 'Mostafa ';
    $lastname  = 'Ghadimi';
    echo $firstname . ' ' .$lastname; // output : Mostafa Ghadimi

ثابت ها در PHP

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

برای تعریف یک ثابت، باید از تابع  define() و برای فراخوانی مقدار آن، باید نام ثابت را صدا زد. برخلاف متغیر ها، نیازی به علامت $ برای ثابت ها نیست. همچنین می توان از تابع constant() برای فراخوانی مقدار یک ثابت استفاده کرد.

تابع constant()

همانطور که از نام تابع مشخص است، این تابع مقدار یک ثابت را بازمی گرداند.

<?php
    define('NAME','ali ');
    echo NAME;
    echo constant('NAME'); // مانند خط قبل، تفاوتی ندارد

مقادیر ثابت از جنس مقادیر اسکالر (boolean،integer،float،string) هستند.

تفاوت بین متغیر و ثابت

  • نیازی به نوشتن علامت $ قبل از نام یک ثابت نیست.
  • ثابت ها نمی توانند مانند متغیر ها با اپراتور = تعریف شوند.
  • ثابت ها محدوده فراخوانی ندارند و در همه جا قابل استفاده هستند.
  • به محض تعریف یک ثابت، امکان تعریف دوباره یا حذف آن وجود ندارد.

نام های معتبر و غیر معتبر برای ثابت ها

<?php
     // نام های معتبر
     define('ONE','first');
     define('TWO2','second');
     define('THERE_3','third');
     // نام های غیر معتبر     
     define('2TWO','second');

آموزش دستورات شرطی در زبان برنامه نویسی PHP

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

  • if : اگر یک شرط صحیح است ، برخی از کد ها را اجرا می کند:
<?php
    $t = date("H");
    if ($t < "20") {
        echo "جمعه خوبی داشته باشید!";
    }
  • if-else : اگر یک شرط صحیح باشد کد دیگری را اجرا می کند و اگر آن شرط نادرست باشد بخش دیگری از کد اجرا می‌شود.

در کد زیر در صورتی که جمعه باشد پیام "جمعه خوبی داشته باشد" چاپ میکند و در غیر این صورت عبارت "روز خوبی داشته باشید":

<?php
    $t = date("D");
    if ($t < "20") {
        echo "جمعه خوبی داشته باشید!";
    } else {
        echo 'روز خوبی داشته باشید!';
    }
  • elseif : اگر قصد دارید تکه کد در صورتی اجرا شود که یکی از چندین شرط موجود صحیح باشد باید از این دستور استفاده کنید:
<?php
    if(condition){
    //  در صورتی که شرط درست باشد این بخش اجرا می شود.
    }elseif(condition){
    //   در صورتی که شرط دوم درست باید این بخش اجرا می شود.
    }else{
    // درصورتی که هیچ کدام از شرط ها درست نباشد این بخش اجرا می شود.
    }

مثال:

در کد زیر در صورتی که جمعه باشد پیام "جمعه خوبی داشته باشد" چاپ میکند و در غیر اینصورت اگر شنبه باشد عبارت "هفته خوبی داشته باشید" چاپ می کند و در غیر اینصورت عبارت "روز خوبی داشته باشید":

<?php
    $day = date('D');
    if ($day == 'Fri') {
        echo 'جمعه خوبی داشته باشید';
    } elseif ($daty == 'Sat') {
        echo 'هفته خوبی داشته باشید';
    } else {
        echo 'روز خوبی داشته باشید';
    }

 switch : یکی از گزینه‌های موجود در آن بخش از کد را برای اجرا انتخاب می کند. به عنوان مثال متغیری به نام a تعریف کرده و چند گزینه دیگر را مشخص می کنید که به ازای تساوی a با یکی از آن مقادیر، دستور دیگری اجرا شود. 

<?php
    switch (expression){
        case label1:
            // اگر expression برابر با label1 باشد کدهای این قسمت اجرا میشود
            break;
        case label2:
            // اگر expression برابر با label2 باشد کدهای این قسمت اجرا میشود
             break; 
        default:
            // اگر expression برابر با label1و label2 باشد کدهای این قسمت بهطور پیشفرض اجرا میشود
    
            }

یک مثال با هم ببینیم:

دستور switch به صورت غیر عادی کار می کند. ابتدا مقدار داده شده به عنون expression را با یکی از case ها جفت می کند. اگر موردی برای جفت شدن پیدا شد، بلاک درونی را اجرا می کند در غیر این صورت بلاک default را در صورت وجود اجرا می کند.

مثالی برای برگرداندن نام ایام هفته :

<?php
    $day = date("D");
    switch ($day) {
        case 'Mon':
            echo 'دوشنبه';
            break;
    
        case 'Tue':
            echo 'سه شنبه';
            break;
    
        case 'Wed':
            echo 'چهارشنبه';
            break;
    
        case 'Thu':
            echo 'پنجشنبه';
            break;
    
        case 'Fri':
            echo 'جمعه';
            break;
    
        case 'Sat':
            echo 'شنبه';
            break;
    
        case 'Sun':
            echo 'یکشنبه';
            break;
    
        default:
            echo 'نامشخص';
    }

آموزش حلقه ها و ساختارهای تکرار در زبان برنامه نویسی PHP

گاهی شما نیاز دارید که از یک تکه کد چندین بار استفاده کنید. بنابراین به جای اضافه کردن چندین خط کد در یک اسکریپت و نوشتن کدهای تکراری، می توانیم از حلقه ها استفاده کنیم. حلقه ها برای اجرای چندباره بخش از کد استفاده می شوند البته تا زمانی که یک شرط خاص صحیح باشد. در PHP انواع حلقه های زیر را داریم:
  • while : تا زمانی که شرط مشخص شده صحیح باشد، همان بخش از کد داخل حلقه به طور مداوم اجرا می شود.
<?php
    $x = 1;
    while ($x <= 5) {
        echo "The number is: $x <br>";
        $x++;
    }
  • do-while : به ازای هربار اجرای حلقه، یک دستور مشخص نیز اجرا می شود. 
<?php
    $x = 1;
    do {
        echo "The number is: $x <br>";
        $x++;
    } while ($x <= 5);

نکته :  تفاوت do-while و while در اینکه  do-while یکبار کد اجرا میشه و بعد شرط چک میشود ولی در  while اول شرط چک میشود و اگه شرط درست باشد بعد داخل حلقه میرود و ادامه کد ها اجرا میشود.

  • for : حلقه به تعدادی که شرط تعریف شده برای آن درست باشد، دستورات کد درون بلاک خود را اجرا می کند.
<?php
    for ($x = 0; $x <= 10; $x++) {
        echo "The number is: $x <br>";
    }
  • foreach : این حلقه به ازای هرکدام از اعضای یک آرایه اجرا می شود.
<?php
    $colors = array("red", "green", "blue", "yellow");
    foreach ($colors as $value) {
        echo "$value <br>";
    }

آموزش فانکشن در PHP

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

function functionName()
{
    code to be executed;
}

آموزش متغیرهای سوپر گلوبال

چندین متغیر از پیش تعریف شده در PHP وجود دارد که سوپر گلوبال (Superglobals) هستند، بدین معنی که همیشه و از همه جا، صرف نظر از حوزه تعریف آنها در دسترس هستند و می توانید از داخل تابع، کلاس یا فایل بدون هیچ کار خاصی به آنها دسترسی داشته باشید. سوپر گلوبال ها در PHP 4.1.0 معرفی شده اند. متغیرهای سوپر گلوبال PHP عبارتند از:
  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION
به این نمونه از سوپر گلوبال ها توجه کنید:
<?php
    $x = 75;
    $y = 25;
    function addition()
    {
        $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
    }

    addition();
    echo $z;

آموزش کار با تاریخ و زمان در PHP

نمایش و استفاده از تاریخ و زمان در طراحی وب سایت حائز اهمیت است. در زیر نحوه استفاده از تاریخ و زمان در php را مشاهده می کنید:

<?php
    echo "Today is " . date("Y/m/d") . "<br>";
    echo "Today is " . date("Y.m.d") . "<br>";
    echo "Today is " . date("Y-m-d") . "<br>";
    echo "Today is " . date("l");

و یا:

<?php
    date_default_timezone_set("America/New_York");
    echo "The time is " . date("h:i:sa");

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

مدیریت پرونده ها بخش مهمی از هر برنامه وب است. شما اغلب نیاز به باز کردن و پردازش فایل ها و پرونده ها برای کارهای مختلف دارید. با استفاده از توابع مدیریت فایل در زبان php  امکان ذخیره و بازیابی انواع فایل‌ها، اطلاعات و اسناد در یک بستر کارا، قابل جستجو و پیگیری، با قابلیت کنترل امکان پذیر خواهد بود. فایل ها به دو دسته تقسیم می شوند :

  • فایل با فرمت ascci
  • فایل با فرمت Binary

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

  • txt
  • html
  • asp
  • php

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

  • jpg
  • mp3
  • gif

تابع  file_get_contents

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

file_get_contents(path,include_path,context,start,max_length);

ورودی های تابع را با هم بررسی کنیم:

  • path: یک پارامتر ضروری است و قابل حذف نیست زیرا مسیر فایلی که قرار است خوانده شود را مشخص می کند.
  • include_path: تعیین این ورودی اختیاری است. اگر می خواهید برای فایل مورد نظر در inclue_path را در php.ini جستجو کنید، این پارامتر را 1 کنید.
  • Context: یک پارامتر اختیاری است که فایل مورد استفاده را مشخص می کند. context مجموعه گزینه هایی است که می تواند رفتار یک جریان(stream) را تغییر دهد. اگر قصد استفاده از آن را ندارید مقدار این فیلد را "NULL" ست کنید.
  • Start : این پارامتر در php ۵.۱ اضافه شده است و فیلدی اختیاری است اختیاری که مشخص می کند خواندن فایل باید از کجا شروع شود.
  • max_length : یک پارامتر اختیاری که مشخص می کند که چه تعداد بایت باید خوانده شود.

مثال :

$txt = file_get_contents('readme.txt');

و یا:

<?php
    echo readfile("webdictionary.txt");

آموزش کار با کوکی ها در PHP

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

فرمت یک کوکی به این شکل است:

setcookie(name, value, expire, path, domain, secure, httponly);

مثال:

<?php
    $cookie_name  = "user";
    $cookie_value = "John Doe";
    setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
    ?>
<html>
<body>
    <?php if (!isset($_COOKIE[$cookie_name])) {
        echo "Cookie named '" . $cookie_name . "' is not set!";
    } else {
        echo "Cookie '" . $cookie_name . "' is set!<br>";
        echo "Value is: " . $_COOKIE[$cookie_name];
    }
    ?>
</body>
</html>

برای تغییر مقدار یک کوکی ، کافی است کوکی را با استفاده از عملکرد setcookie () تنظیم کنید:

<?php
    $cookie_name  = "user";
    $cookie_value = "Alex Porter";
    setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
    ?>
<html>
<body>
    <?php if (!isset($_COOKIE[$cookie_name])) {
        echo "Cookie named '" . $cookie_name . "' is not set!";
    } else {
        echo "Cookie '" . $cookie_name . "' is set!<br>";
        echo "Value is: " . $_COOKIE[$cookie_name];
    } ?>
</body>
</html>

برای حذف یک کوکی در php از تابع () setcookie با درج تاریخ انقضایی در گذشته استفاده کنید:

<?php
// set the expiration date to one hour ago
    setcookie("user", "", time() - 3600);
?> 
<html>
<body>
    <?php echo "Cookie 'user' is deleted."; ?> 
</body> 
</html

برای بررسی فعال بودن کوکی ها ابتدا سعی کنید یک کوکی آزمایشی با عملکرد ()setcookie ایجاد کنید، سپس متغیر آرایه $ _COOKIE را بشمارید:

<?php
    setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
    <?php if(count($_COOKIE) > 0) {
        echo "Cookies are enabled.";
      } else {
        echo "Cookies are disabled.";
    }
    ?>
</body>
</html>

آموزش کار با سشن ها در PHP

PHP Sessions روشی برای ذخیره اطلاعات (در متغیرها) است که در چندین صفحه استفاده می شود. برخلاف یک کوکی ، اطلاعات در رایانه کاربران ذخیره نمی شوند. وقتی با یک برنامه کار می کنید، کامپیوتر می داند شما کی هستید، چه موقع برنامه را شروع می کنید و چه موقع پایان می دهید. اما در اینترنت یک مشکل وجود دارد: در هر مراجعه به اینترنت وب سرور نمی داند شما چه کسی هستید یا چه کاری انجام می دهید، زیرا آدرس HTTP وضعیت را حفظ نمی کند (Stateless).

متغیرهای Session با ذخیره اطلاعات کاربر برای استفاده در چندین صفحه (به عنوان مثال نام کاربری ، رنگ مورد علاقه و غیره) این مشکل را حل می کنند. به طور پیش فرض ، متغیرهای Session تا زمانی که کاربر مرورگر را ببندد دوام می آورند. بنابراین؛ متغیرهای Session اطلاعات مربوط به یک کاربر واحد را دارند و در همه برنامه ها در دسترس هستند.

شروع یک سشن (Session ) در پی اچ پی:

<?php // Start the session session_start(); ?>
<html>
<body>
    <?php // Set session variables
    $_SESSION["favcolor"]  = "green";
    $_SESSION["favanimal"] = "cat";
    echo "Session variables are set.<br>";
    ?>
</body>
</html>

دریافت متغیرهای سشن:

<?php
    session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
    // Echo session variables that were set on previous page
    echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
    echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
</body>
</html>
گزارش مشکل