آموزش PHP

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

PHP چیست؟

PHP یک زبان برنامه نویسی اسکریپتی اپن سورس است که برای طراحی برنامه های تحت وب سمت سرور ( Server Side ) ، به کار می رود .

سمت سرور بودن به این معناست که صفحات PHP ابتدا توسط سرور PHP ( که می تواند از نوع Apache یا IIS ) باشد ، پردازش شده و سپس خروجی به صورت کدهای HTML و جاوا اسکریپت ، برای اجرا به مرورگر کامپیوتر کاربر ارسال می شود . به عبارت دیگر وظیفه اجرای صفحات PHP به عهده کامپیوتر سرور وب هاست سایت آن می باشد . ( برخلاف HTML یا جاوا اسکریپت که اجرای آنها توسط خود مرورگر کاربر انجام می شود ) .

PHP مخفف عبارت Hypertext PreProcessor به معنای پیش پردازنده فرا متن می باشد که در سال 1994 توسط رسموس لردورف ایجاد شد و سپس توسط سایرین توسعه و گسترش پیدا کرد .

ساختار زبان PHP بسیار شبیه به زبان c و در نسخه های جدید شبیه به جاوا می باشد و به همین دلیل از محبوبیت فراوانی برخوردار است . از مشهورترین نرم افزارهای ساخته شده با PHP می توان به جوملا ، WikiMedia و یا Mambo اشاره کرد . سایت های فراوانی در جهان براساس زبان PHP نوشته شده اند و هر روز نیز بر تعداد آنها اضافه می شود . از مهمترین آنها می توان به ویکی پدیا اشاره کرد .

پی‌اچ‌پی امکان استفاده از انواع مختلفی از پایگاه‌های داده را از جمله MySQL، اوراکل، IBM DB۲ ،Microsoft SQL Server ،PostgreSQL و SQLite با دستورهایی ساده فراهم می‌سازد. پی‌اچ‌پی روی بیشتر سیستم‌عامل‌های معروف از جمله لینوکس، یونیکس، ویندوز و Mac OSX و با اغلب کارگزارهای وب (Web Server) معروف، قابل اجراست.

 

مزیت های PHP :

  • PHP یک ابزار اپن سورس و رایگان است و به همین دلیل هاست هایی که میزبانی آن را انجام می دهند ، بسیار ارزانتر از هاست های .Net هستند .
  • پی اچ پی بر روی تمامی پلتفورم های معروف مثل Windows , Linux و iOs اجرا می شود .
  • PHP یک زبان ساخت یافته بوده و یادگیری آن بسیار ساده است .
  • ابزار کار با
  • PHP همگی اپن سورس بوده و استفاده از آنها رایگان هستند .

 

 

ساختار دستوری PHP :

صفحات PHP از دو جزء اصلی تشکیل شده اند :

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

هر بلوک اسکریپت PHP ، همواره با عبارت php?> شروع شده و به عبارت <? خاتمه می یابد . دستورات مورد نظر بین این دو عبارت قرار می گیرند . هر خط دستوری PHP باید با عبارت سمیکلون ; به پایان برسد . این عبارت باعث می شود تا کدهای دستوری ، از هم جدا شده و قابل تشخیص شوند .

شکل کلی ( Syntax ) نوشتن یک اسکریپت PHP به صورت زیر است :

Syntax  <?php

    .... php کدها و دستورات مورد نظر به زبان ....     ;

?>

 

مثال :

<?php

    echo "Hello World"     ; 

?>

صفحات PHP بر روی سرور اجرا شده و سپس نتایج خروجی به صورت کدهای ساده شده HTML و جاوا اسکریپت ، برای اجرا به مرورگر کامپیوتر کاربر ارسال می شود .

نکته : در نسخه های جدید PHP ، می توان ساختار اسکریپت را به صورت خلاصه شده زیر نیز نوشت . اما برای سازگاری بهتر با تمامی ورژن ها ، استفاده از متد قبلی توصیه می شود :

Syntax  <?

    .... php کدها و دستورات مورد نظر به زبان ....     ;

?>

 

مثال :

<?

    echo "Hello World"     ; 

?>

 

نحوه قرار دادن اسکریپت های PHP در صفحات :

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

Example

< html >

  < head >

  </head>

<body>

       < p > This is a HTML Paragraph < /p >

       <?php

            echo "Hello World"     ;  

       ?>

</body>

</html>                کد

مشاهده خروجی مثال

خروجی

 

قرار دادن توضیحات comments در اسکریپت های PHP :

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

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

چنانچه توضیح در حد یک خط باشد ، با قرار دادن کد // در ابتدا خط ، توضیح خود را بعد از آن بنویسید .

ولی چنانچه حجم توضیح بیش از یک خط باشد ، باید علامت */ را در ابتدای توضیح و علامت /* را در انتهای آن قرار دهید . از این روش برای توضیحات چند خطی استفاده می شود .

در جدول زیر روش استفاده از هر دو مورد را به صورت عملی به شما نمایش داده ایم :

Syntax

توضیح یک خطی    // متن توضیح

 

Syntax

توضیح چند خطی   /*

خط 1 توضیح

خط 2 توضیح

خط 3 توضیح

...

*/

مثال : درمثال زیر در یک صفحه PHP هم توضیح یک خطی و هم چند خطی قرار داده ایم . دقت کنید که این توضیحات در خروجی نمایش داده نمی شوند :

Example

< html >

  < head >

  </head>

<body>

       < p > This is a HTML Paragraph < /p >

       <?php

            // متن توضیح یک خطی

            echo "Hello World"     ;  

            /*

            خط 1 توضیح چند خطی

            خط 2 توضیح چند خطی

            ...

            */

       ?>

</body>

</html>               

 

 

نحوه تعریف و استفاده از متغیرها در PHP :

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

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

شکل کلی تعریف و مقدار متغیرها در PHP به صورت زیر است :

Syntax  <?php

$ var_name = value ;

?>

مثال : $ My_Name = " Developer " ;

          $ Int_Num = 12 ;

نکته : توجه کنید که اگر علامت $ را فراموش کنید ، متغیر تعریف نخواهد شد .

نکته 2 : زبان PHP در تعریف متغیرها به کوچک و بزرگ بودن حروف حساس است . بنابراین برای مثال متغیر Num با num متفاوت خواهد بود .

قوانین نام گذاری متغیرها در PHP :

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

  1. نام یک متغیر حتما بایستی با یک حرف یا علامت _ شروع شود . برای مثال نام های Num یا IntNumber_ صحیح و نام 1int غلط می باشد .
  2. نام متغیرها فقط می تواند شامل حروف ، اعداد و یا علامت _ باشد . برای مثال نام Int_Num صحیح و نامی مثل Int%Num غلط است .
  3. نام یک متغیر نمی تواند شامل فاصله باشد . اگر نام متغیر بیش از یک کلمه است ، باید با علامت _ آن را از هم جدا کرده و یا با بزرگ و کوچک نوشتن حروف ، کلمات را از هم تمایز دهید . برای مثال Int_Num یا IntNum . توجه داشته باشید مثلا نام Int Num غلط است .

انواع متغیرها در PHP :

برخلاف زبان های برنامه نویسی مثل VB یا ASP.Net در PHP لازم نیست ، نوع داده متغیر تعریف شود . هنگامی که متغیر را تعریف می کنید ، در زمان مقدار دهی ، PHP به طور اتوماتیک نوع داده ای را تبدیل کرده و در متغیر ذخیره می کند . برای مثال اگر یک متغیر را تعریف کرده و سپس مقدار یک عدد را به آن نسبت دهید ، PHP به طور اتومانیک نوع آن متغیر را عددی تعیین می کند . برای مواردی مثل متن و یا boolen نیز وضع به همین ترتیب است .

در متغیر های تعریف شده در مثال جدول synatx در بالای صفحه ، متغیر متغیر My_Name از نوع متن ( String ) و متغیر Int_Num از نوع عددی ( Integer ) خواهند بود . دقت کنید که مقدار های متنی باید در بین دو علامت " " تعریف شوند . ولی برای عدد اینگونه نیست .

 

 

تابع در PHP :

همانند سایر زبان های برنامه نویسی در PHP نیز ، توابع یکی از مهمترین ابزارها برای طراحی برنامه ها هستند . PHP دارای بیش از 700 تابع درون ساخته است که امکان انجام بسیاری از کارها را را راحتی در اختیار برنامه نویسان قرار می دهد .

برای دریافت اطلاعات درباره توابع درون ساخته در زبان PHP ، به بخش آموزش مرجع توابع درون ساخته PHP بروید .

تابع چیست و چه کاربری دارد ؟ :

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

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

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

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

تعریف تابع در زبان PHP :

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

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

  1. نام یک تابع حتما بایستی با یک حرف یا علامت _ شروع شود . برای مثال نام های MyFunction یا MyFunction_ صحیح و نام 1function غلط می باشد .
  2. نام توابع فقط می تواند شامل حروف ، اعداد و یا علامت _ باشد . برای مثال نام My_Function صحیح و نامی مثل My%Function غلط است .
  3. نام یک تابع نمی تواند شامل فاصله باشد . اگر نام تابع بیش از یک کلمه است ، باید با علامت _ آن را از هم جدا کرده و یا با بزرگ و کوچک نوشتن حروف ، کلمات را از هم تمایز دهید . برای مثال My_Function یا MyFunction . توجه داشته باشید مثلا نام My Functionغلط است .
  4. نام توابع نمی تواند معادل کلمات کلیدی در زبان 7 باشد . برای مثال نام یک تابع نمی تواند print باشد .

پس از نام تابع پرانتز باز و بسته قرار می دهیم . همچنین دستورات تابع بین دو { و } قرار می گیرد . هر کدی که بین این دوعلامت باشد ، جزء تابع خواهد بود .

Syntax  <?php

    function   نام تابع ( )

        {

            ...

            دستورات تابع

            ....

        }

?>

 

مثال :

<?php

    function   My_Function ( )

        {

            ...

            echo " PHP Toturail " ;

            ....

        }

?>

 

فراخوانی تابع در PHP :

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

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

شکل کلی فراخوانی یک تابع به صورت زیر است :

Syntax  <?php

      نام تابع ( )   ;

?>

 

مثال :

<?php

      My_Function ( )   ;

?>

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

Example

< html >

  < head >

  </head>

<body>

       <?php

            function Show_Msg ( )                                                      تعریف تابع

                {

                   echo " You are learning PHP " ;

                }

       ?>

       < p > This is a HTML Paragraph < /p >

       <?php

       Show_Msg ( ) ;                                                                       فراخوانی تابع

       ?>

</body>

</html>                 

 

ارسال پارامتر ( Parameter ) به تابع

مقدمه :

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

پارامتر چیست و چه کاربردی دارد :

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

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

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

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

Syntax  <?php

    function   نام تابع ( Parameter 1 , Parameter 2 , ... )

        {

            ...

            دستورات تابع

            ....

        }

?>

 

مثال :

<?php

    function   My_Function ( $txt_Name , $txt_Family )

        {

            ...

            echo ( $txt_Name , $txt_Family ) ;

            ....

        }

?>

 

ارسال مقادیر پارامترها به تابع :

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

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

مثال : در مثال زیر یک تابع را تعریف کرده ایم که دو مقدار نام و نام خانوادگی را به صورت دو پارامتر دریافت کرده و سپس در هنگام اجرای دستورات خود مقدار آنها را در خروجی نمایش می دهد :

Example

< html >

  < head >

  </head>

<body>

       <?php

            function Show_Name ( $txt_Name , $txt_Family )                                                      تعریف تابع و پارامترهای لازم

                {

                   echo "My Name is : " . $txt_Name . " " . $txt_Family ;

                }

       ?>

       < p > This is a HTML Paragraph < /p >

       <?php

       Show_Name ( "Mehrdad" , "Fatahi" ) ;                                                                       فراخوانی تابع و ارسال پارامترها

       ?>

</body>

</html>               

 

 

 

آموزش PHP   >   ساختارهای دستوری PHP   >  ساختار دستوری if

ساختارهای شرطی if :

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

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

  1. If statement : از این ساختار در زمانی استفاده میشود که بخواهیم در صورت برقرار بودن شرط یا شرط هایی دستورات خاصی اجرا شوند.
  2. If … else statement : از این ساختار در زمانی استفاده میشود که بخواهیم در صورت برقرار بودن شرط یا شرط هایی یکسری دستورات اجرا شده و در صورت عدم برقراری آن شرط دستورات دیگری اجرا شوند.
  3. If…else if…else statement : در این ساختار بیش از دو گروه شرط داریم.در هر قسمت شرطی که درست باشد دستورات مربوط به آن شرط اجرا میشود.

1) If … statement :

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

شکل کلی استفاده از این دستور به شرح زیر است :

Syntax  if ( شرط یا شروط مورد نظر )

        کدها و دستوراتی که می خواهید اجرا شوند ;

 

مثال :

< ?php

    if ( $x == "1" )

        echo "one";

?>

مثال : در مثال زیر ابتدا مقدار نام روز جاری را در متغیر D$  ریخته ایم . سپس یک دستور شرطی if قرار داده ایم تا در صورتی که مقدار متغیر D$ برابر با Fri بود ، به کاربر " آخر هفته خوش " را بگوید :

مثال         < ?php

    $d = date ( "D" ) ;

    if ( $d == " Fri " ) echo " Have a nice weekend! " ;

?>

 

 

 

آموزش PHP   >   ساختارهای دستوری PHP   >   حلقه های while

ساختارهای حلقه ای while :

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

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

در php دو نوع حلقه while داریم :

  1. while : این حلقه تا زمانی که شرط یا شروط تعیین شده در مقابل عبارت while درست باشد دستورات درون خود را بصورت متناوب اجرا میکند.
  2. do .... whlie : این حلقه یکبار دستورات تعیین شده را برای آن اجرا میکند.سپس شرط یا شروط تعیین شده در انتهای حلقه ی while را بررسی کرده و تا زمانی که درست باشند دستورات حلقه را مجددا بصورت متناوب تکرار میکند.

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

1 ) حلقه while :

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

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

Syntax  while ( شرط یا شروط مورد نظر )

    {

        کدها و دستوراتی که می خواهید در حلقه تکرار شوند ;

     }

 

مثال :

< ?php

    while ( $i =< 5 )

      {

         echo "The number is " . $i . "< br >";

         $i++;

       }

?>

نکته مهم : در دستور while و یا هر ساختار حلقه ای دیگر ، باید کدی وجود داشته باشد تا شمارنده حلقه را افزایش یا کاهش داده و یا باعث شود ، شرط حلقه بعد از مدتی نادرست شود . و گرنه حلقه تا بی نهایت ادامه پیدا کرده و کامپیوترتان هنگ می کند !! .

مثال : در مثال زیر یک حلقه ساده را تعریف کرده ایم . شمارنده این حلقه از یک شروع شده و به ازای هر عدد مقدار آن را چاپ می کند . سپس یک واحد شمارنده افزایش می یابد . این روند تا رسیدن شمارنده به عدد 5 ادامه دارد :

Example

< ? php

    while ( $i <= 5 )

     {

        $i = 1 ;

        echo " The number is " . $i . "< br/ >";

        $i++ ;

      }

? >          کد

The number is 1

The number is 2

The number is 3

The number is 4

The number is 5 خروجی

2 ) حلقه do ... while :

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

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

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

Syntax      do

      {

          کدها و دستوراتی که می خواهید در حلقه تکرار شوند ;

       }

      while ( شرط یا شروط مورد نظر )  ;

 

مثال :

< ?php  

  do

      {

         echo "The number is " . $i . "< br >";

         $i++;

       }

    while ( $i =< 5 ) ;

?>

خروجی مثال          The number is 1

The number is 2

The number is 3

The number is 4

The number is 5

 

 

آموزش PHP   >   ساختارهای دستوری PHP   >   ساختارهای حلقه ای for

ساختارهای حلقه ای for و foreach :

1 ) حلقه for : این حلقه دستورات خود را به تعداد دفعات تعیین شده برای آن و یا تا زمانی که شرط آن درست باشد تکرار و اجرا میکند.

برای مثال شما میخواهید دستور معینی به تعداد 10 بار تکرار شود در این حالت باید دستور خود را در یک حلقه for قرار دهید .

شکل کلی تعریف و استفاده از این حلقه بصورت زیر است :

Syntax  for ( init ; condition ; incresment )

    {

        کدها و دستوراتی که می خواهید در حلقه تکرار شوند ;

    }

 

مثال :

< ?php

    for ( $i = 1 ; $i <= 5 ; $i++ )

    {

        echo "The number is " . $i . "< br/ >"

    }

?>

 

syntax توضیح هر یک از موارد

توضیح     پارامتر

این پارامتر میتواند یک متغیر باشد که به عنوان اغازکر شمارنده حلقه تعیین شود. همچنین میتواند یک کد یا دستور باشد که یکبار در ابتدا حلقه اجرا خواهد شد.             init

این پارامتر میتواند یک متغیر باشد که به عنوان اغازکر شمارنده حلقه تعیین شود. همچنین میتواند یک کد یا دستور باشد که یکبار در ابتدا حلقه اجرا خواهد شد.             Init

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

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

مثال : در مثال زیر یک حلقه ساده را تعریف کرده ایم . شمارنده حلقه از 1 شروع شده و به ازای هر عدد یکبار حلقه اجرا شده و مقدار عدد شمارنده یک واحد افزایش می یابد . روند اجرای حلقه تا زمانی که عدد شمارنده به 5 برسد ادامه داشته و سپس متوقف می شود :

Example

< ? php

    for ( $i=1 ; $i <= 5 ; $i++ )

     {

        echo "The number is " . $i . "<br>";

      }

? >          کد

The number is 1

The number is 2

The number is 3

The number is 4

The number is 5 خروجی

 

 

2 ) حلقه foreach :

این حلقه برای حرکت درون آرایه ها و تکرار دستورات مورد نظر بر اساس اعضای آرایه استفاده میشود.

شکل کلی تعریف و استفاده از این حلقه بصورت زیر است :

Syntax  foreach ( $array as $value )

    {

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

    }

 

مثال :

< ?php

    foreach ( $x as $value )

    {

        echo &value . "< br/ >" ;

    }

?>

نحوه کار حلقه foreach :

به ازای هربار اجرای حلقه مقدار عنصرجاری آرایه به متغیر value داده شده و اندیس آرایه یک واحد به جلو حرکت میکند.این روند تا زمانی ادامه دارد که به انتهای آرایه برسیم.سپس اجرای حلقه متوقف میشود. در کد مثال ، array$ نام آرایه مورد نظر و value$ ، پارامتر دریافت مقدار عضو جاری آرایه است .

مثال : در مثال زیر یک آرایه 3 عضوی به نام x$ تعریف کرده ایم . سپس آن را در یک حلقه foreach قرار داده و مقدار اعضای آرایه را به ترتیب در خروجی نمایش داده ایم :

Example

< ? php

    $x = array ("one","two","three") ;

    foreach ( $x as $value )

     {

        echo $value . "< br >";

      } 

? >          کد

one

two

three     

 

 

آموزش PHP   >   ساختارهای دستوری PHP   >   ساختار دستوری switch

ساختارهای دستوری switch :

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

برای مثال فرض کنید که یک متغیر به نام number داریم.میخواهیم کدی طراحی کرده و متغیر number را در دستور switch آن قرار دهیم.سپس به ازای هریک از مقادیر مورد نظر برای متغیر number گروه خاص از دستورات اجرا شوند.مثلا برای مقدار 1 خروجی one و برای مقدار 2 خروجی twoو الی اخر باشد. در این حالت از ساختار دستوری switch استفاده میکنیم.

شکل کلی استفاده از این ساختار switch به شکل زیر است :

Syntax  switch ( متغیر مورد نظر )

    {

        case مقدار اول :

              اگر مقدار متغیر با مقدار اول برابر بود این دستورات اجرا شوند ;

              break ;

        case مقدار دوم :

             اگر مقدار متغیر با مقدار دوم برابر بود این دستورات اجرا شوند ;

             break ;

         default :

               های تعیین شده برابر نبود ، این دستورات اجرا شوند case در صورتی که مقدر متغیر با مقدار هیچ کدام از ;

     }

به کار بردن ساختار switch در عمل :

در مثال زیر به صورت عملی نحوه استفاده از دستور switch را نشان داده ایم .

مثال : در مثال زیر یک متغیر به نام x تعریف و مقدار دهی کر ده ایم . سپس آن را در یک دستور switch به کار برده ایم . این دستور مقدار متغیر را بررسی کرده و چنانچه مقدار آن 1 باشد ، عبارت one را نشان داده ، برای مقدار  2 عبارت two ، برای مقدار 3 عبارت three و برای سایر مقادیر عبارت bigger than 3 را نمایش می دهد .

Example

< ? php

  $x = 1 ;

  switch ( $x )

    {

        case 1 :

              echo " one ";

              break ;

        case 2 :

             echo " two " ;

             break ;

        case 3 :

             echo " three " ;

             break ;

         default :

             echo " bigger than three " ;

     }

? >          

one        خروجی

 

 

آموزش PHP   >   ساختار دستوری PHP   >   تعریف و کار با آرایه ها در PHP

آرایه چیست و چه کاربردی دارد ؟

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

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

$Books1 = " HTML " ;

$Books2 = " ASP " ;

&Books3 = " PHP " ;

حال فرض کنید که می خواهید بین کتاب ها جستجو کرده و کتاب خاصی را پیدا کنید . در حالتی که 3 کتاب دارید ، ساده است اما هنگامی که 300 کتاب دارید چه ؟ .آنگاه استفاده از روش سنتی فوق غیر ممکن خواهد بود و باید از آرایه ها استفاده نمایید .

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

به طور کلی در PHP 3 نوع آرایه داریم :

  1. آرایه عددی ( Numeric array ) : در این نوع آرایه ، اعضای آرایه همه با یک نام واحد تعریف شده و هر کدام یک اندیس عددی منحصر به فرد خود را دارند ، که به وسیله آن شناسایی و قایل دسترسی می شوند .
  2. آرایه متناظر ( Associative array ) : در این نوع آرایه هر عضو به صورت یک جفت مقدار و شناسه عددی ( ID Key ) تعریف می شود . برای دسترسی به هر عضو آرایه باید از شناسه عددی آن استفاده کرد .
  3. آرایه تو در تو ( Multidimensional array ) : این نوع آرایه از دو یا چند آرایه تو در تو تشکیل می شود .

آرایه عددی ( Numeric array ) :

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

دو روش کلی برای تعریف آرایه های عددی در PHP وجود دارد :

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

حالت اول

تعریف آرایه عددی               $ Books = array ( " HTML " , " CSS " , " ASP " , " PHP " ) ;

  1. در روش دوم تعریف آرایه های عددی ، هنگام تعریف اعضای آرایه ، اندیس آنها را نیز تعیین می کنیم . در این حالت می توان اندیس های متفاوتی را نیز در نظر گرفت .

حالت دوم

تعریف آرایه عددی               $ Books [ 0 ] = " HTML " ;

$ Books [ 1 ] = " CSS " ;

$ Books [ 2 ] = " ASP " ;

$ Books [ 3 ] = " PHP " ;

آرایه متناظر ( Associative array ) :

در روش دوم ، هر عضو آرایه به صورت یک جفت مقدار و یک شناسه عددی ( ID Key ) تعریف می شود .

برای نگهداری گونه های خاصی از اطلاعات ، معملا آرایه های عددی مناسب نیستند و بهتر است از آرایه های متناظر استفاده شود .

نحوه استفاده از این آرایه را در مثال های زیر آموزش داده ایم . در آرایه زیر اسامی چند نفر به همراه اسامی آنها را تعریف کرده ایم :

حالت اول

تعریف آرایه متناظر              & ages = array ( " Ali " => 32 , " Reza " => 30 , " Ahmad => 34 ) ;

حالت دوم

تعریف آرایه متناظر              & ages [ ' Ali ' ] = " 32 " ;

& ages [ ' Reza ' ] = " 30 " ;

& ages [ ' Ahmad ' ] = " 34 " ;

آرایه های تو در تو ( Multidimensional array ) :

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

  • نحوه

آرایه تو در تو        $families = array

    (

      "Griffin"=>array

        (

            "Peter",

            "Lois",

            "Megan"

        ),

      "Quagmire"=>array

        (

             "Glenn"

        ),

      "Brown"=>array

        (

             "Cleveland",

             "Loretta",

             "Junior"

         )

        ) ;

در مثال زیر نحوه استفاده و نمایش اعضای یک آرایه تو در تو نمایش داده شده است :

مثال         < ? php

         echo " Is " . $families['Griffin'][2] .

         " a part of the Griffin family?" ;

? >

خروجی  Is Megan a part of the Griffin family ?

 

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

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

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

اعضای یک آرایه را می توانید به صورت صعودی یا نزولی ، بر حسب حروف الفبا و یا مقادیر عددی مرتب سازی نمایید . توابع مرتب سازی آرایه ها در PHP عبارتند از :

  • تابع ( ) sort :

این تابع مقادیر آرایه را از پایین به بالا ( صعودی ) مرتب می کند . در مثال زیر نحوه کار با این تابع و خروجی آن را در عمل نشان داده ایم :

مثال 1     < ? php

     $cars = array( " Volvo " , " BMW ", " Toyota " ) ;

     sort ( $cars ) ;

 ? >

خروجی  BMW  Toyota  Volvo

 

مثال 2     < ? php

     $numbers = array ( 4 , 6 , 2 , 22 , 11 ) ;

     sort ( $numbers ) ;

 ? >

خروجی  2  4   6  11  22

  • تابع ( ) rsort :

این تابع مقادیر آرایه را از بالا به پایین ( نزولی ) مرتب می کند . در مثال زیر نحوه کار با این تابع و خروجی آن را در عمل نشان داده ایم :

مثال 1     < ? php

     $cars = array( " Volvo " , " BMW ", " Toyota " ) ;

     rsort ( $cars ) ;

 ? >

خروجی  Volvo Toyota BMW

 

مثال 2     < ? php

     $numbers = array ( 4 , 6 , 2 , 22 , 11 ) ;

     rsort ( $numbers ) ;

 ? >

خروجی  22   11   6   4   2

  • تابع ( ) asort :

این تابع مقادیر آرایه های دوبعدی را از پایین به بالا ( صعودی  ) ، بر حسب مقدار Value آنها مرتب می کند . در مثال زیر نحوه کار با این تابع و خروجی آن را در عمل نشان داده ایم :

مثال         < ? php

     $age = array( " Peter " => " 35 " , " Ben " => " 37 " , " Joe " => " 43 " ) ;

     asort( $age ) ; 

? >

خروجی  Key = Peter , Value = 35

Key = Ben , Value = 37

Key = Joe , Value = 43

  • تابع ( ) ksort :

این تابع مقادیر آرایه های دوبعدی را از پایین به بالا ( صعودی  ) ، بر حسب مقدار Key آنها مرتب می کند . در مثال زیر نحوه کار با این تابع و خروجی آن را در عمل نشان داده ایم :

مثال         < ? php

     $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

     ksort($age); 

? >

خروجی  Key=Ben, Value=37

Key=Joe, Value=43

Key=Peter, Value=35

  • تابع ( ) arsort :

این تابع مقادیر آرایه های دوبعدی را از پالا به پایین ( نزولی  ) ، بر حسب مقدار  Value  آنها مرتب می کند . در مثال زیر نحوه کار با این تابع و خروجی آن را در عمل نشان داده ایم :

مثال         < ? php

     $age=array( " Peter " => " 35 " , " Ben " => " 37 " , " Joe " => " 43 " ) ;

     arsort( $age ) ; 

? >

خروجی  Key=Joe, Value=43

Key=Ben, Value=37

Key=Peter, Value=35

  • تابع ( ) krsort :

این تابع مقادیر آرایه های دوبعدی را از پالا به پایین ( نزولی  ) ، بر حسب مقدار  key  آنها مرتب می کند . در مثال زیر نحوه کار با این تابع و خروجی آن را در عمل نشان داده ایم :

مثال         < ? php

     $age=array( " Peter " => " 35 " , " Ben " => " 37 " , " Joe " => " 43 " ) ;

     krsort( $age ) ; 

? >

خروجی  Key = Peter , Value = 35

Key = Joe , Value = 43

Key = Ben , Value = 37

 

 

آموزش PHP   >   آرایه ها در PHP   >   مرجع توابع کار با آرایه ها در PHP

مرجع توابع کار با آرایه ها در PHP :

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

نام تابع    شرح عملکرد

array ( )

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

array_change_key_case ( )

این تابع کاراکتر کلیدها در آرایه های دو بعدی را به حروق بزرگ یا کوچک تبدیل می کند .

array_chunk ( )

این تابع ، یک آرایه موجود را به دو یا چند آرایه کوچکتر تبدیل می کند .

array_combine ( )

این تابع ، دو آرایه تک بعدی را با هم ترکیب کرده و یک آرایه دو بعدی با Key و Value می سازد .

array_count_values ( )

این تابع ، تعداد عناصر مشابه ( دارای Value یکسان ) را در یک آرایه می شمارد .

array_diff ( )

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

array_fill ( )

این تابع یک آرایه موجود را با مقادیر تعیین شده برای آن ، پر می کند .

array_fill_keys ( )

این تابع کلیدهای تعیین شده ( keys ) برای آنها را به عناصر یک آرایه اضافه می کند .

array_filter ( )

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

array_flip ( )

این تابع در یک آرایه دو بعدی ، جای مقادیر ( values ) و کلیدها ( keys ) را با هم جا به جا می کند و یک آرایه جدید را ساخته و در خروجی بر می گرداند .

array_intersect ( )

این تابع مقادیر عناصر دو یا چند آرایه را با هم مقایسه کرده و عناصر تکراری و یکسان را بر می گرداند .

array_key_exists ( )

این تابع وجود یا عدم وجود یک کلید ( key ) را در یک آرایه بررسی کرده و جواب را بر می گرداند .

array_keys ( )

این تابع کلیدهای ( keys ) موجود در عناصر یک آرایه را بر می گرداند .

array_map ( )

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

array_merge ( )

این آرایه عناصر دو یا چند آرایه را با هم ترکیب کرده و یک آرایه جدید تولید می کند .

array_pop ( )

این تابع آخرین عنصر عضو آرایه را حذف می کند .

array_push ( )

این تابع یک یا چند عنصر جدید تعیین شده را به انتهای آرایه اضافه می کند .

array_rand ( )

این تابع یک یا چند عنصر از آرایه را به صورت رندوم انتخاب کرده و بر می گرداند .

array_search ( )

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

array_reverse ( )

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

array_shift ( )

این تابع المنت اول آرایه را حذف کرده و مقدار آن را بر می گرداند .

array_slice ( )

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

array_splice ( )

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

array_sum ( )

این تابع مجموع عددی یک آرایه را بر می گرداند .

array_unique ( )

این تابع عناصر تکراری یک آرایه را حذف می کند .

array_unshift ( )

این تابع یک یا چند عنصر مورد نظر را به ابتدای آرایه اضافه می کند .

array_values ( )

این تابع کلیه مقادیر values یک آرایه را بر می گرداند .

array_walk ( )

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

 

آموزش PHP   >   آرایه ها در PHP   >   مرجع توابع کار با آرایه ها در PHP

مرجع توابع کار با آرایه ها در PHP :

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

نام تابع    شرح عملکرد

array ( )

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

array_change_key_case ( )

این تابع کاراکتر کلیدها در آرایه های دو بعدی را به حروق بزرگ یا کوچک تبدیل می کند .

array_chunk ( )

این تابع ، یک آرایه موجود را به دو یا چند آرایه کوچکتر تبدیل می کند .

array_combine ( )

این تابع ، دو آرایه تک بعدی را با هم ترکیب کرده و یک آرایه دو بعدی با Key و Value می سازد .

array_count_values ( )

این تابع ، تعداد عناصر مشابه ( دارای Value یکسان ) را در یک آرایه می شمارد .

array_diff ( )

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

array_fill ( )

این تابع یک آرایه موجود را با مقادیر تعیین شده برای آن ، پر می کند .

array_fill_keys ( )

این تابع کلیدهای تعیین شده ( keys ) برای آنها را به عناصر یک آرایه اضافه می کند .

array_filter ( )

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

array_flip ( )

این تابع در یک آرایه دو بعدی ، جای مقادیر ( values ) و کلیدها ( keys ) را با هم جا به جا می کند و یک آرایه جدید را ساخته و در خروجی بر می گرداند .

array_intersect ( )

این تابع مقادیر عناصر دو یا چند آرایه را با هم مقایسه کرده و عناصر تکراری و یکسان را بر می گرداند .

array_key_exists ( )

این تابع وجود یا عدم وجود یک کلید ( key ) را در یک آرایه بررسی کرده و جواب را بر می گرداند .

array_keys ( )

این تابع کلیدهای ( keys ) موجود در عناصر یک آرایه را بر می گرداند .

array_map ( )

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

array_merge ( )

این آرایه عناصر دو یا چند آرایه را با هم ترکیب کرده و یک آرایه جدید تولید می کند .

array_pop ( )

این تابع آخرین عنصر عضو آرایه را حذف می کند .

array_push ( )

این تابع یک یا چند عنصر جدید تعیین شده را به انتهای آرایه اضافه می کند .

array_rand ( )

این تابع یک یا چند عنصر از آرایه را به صورت رندوم انتخاب کرده و بر می گرداند .

array_search ( )

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

array_reverse ( )

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

array_shift ( )

این تابع المنت اول آرایه را حذف کرده و مقدار آن را بر می گرداند .

array_slice ( )

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

array_splice ( )

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

array_sum ( )

این تابع مجموع عددی یک آرایه را بر می گرداند .

array_unique ( )

این تابع عناصر تکراری یک آرایه را حذف می کند .

array_unshift ( )

این تابع یک یا چند عنصر مورد نظر را به ابتدای آرایه اضافه می کند .

array_values ( )

این تابع کلیه مقادیر values یک آرایه را بر می گرداند .

array_walk ( )

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

 

 

آموزش PHP - طراحی و کار با فرم ها در پی اچ پی

فرم ها در PHP :

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

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

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

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

شکل کلی و نمونه طراحی یک فرم HTML ساده در صفحات PHP به صورت زیر است . این فرم دارای دو کادر متن برای دریافت نام و سن از کاربر و یک دکمه ارسال ( Submit ) است ، که با فشردن آن فرم به مقصد ارسال می شود :

Example               <form action="welcome.php" method="post">

    Name: <input type="text" name="fname" />

    Age: <input type="text" name="age" />

    <input type="submit" />

</form>

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

  • خاصیت action : این خاصیت از نوع آدرس ( URL ) بوده و تعیین کننده آدرس فرم یا صفحه ای است که قرار است اطلاعات فرم به آن ارسال شود . اطلاعات ارسال شده در صفحه مقصد مورد استفاده و پردازش قرار می گیرد .

برای مثال اگر مقدار آن را برابر با submit.php قرار دهیم ، اطلاعات فرم پس از submit شدن به صفحه تعیین شده ارسال شده و مرورگر نیز به همان صفحه هدایت می شود .

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

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

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

o             متد GET : در این روش اطلاعات بصورت ساده و کد نشده منتقل میشوند. این روش دقیقا مشابه اینه که اطلاعات رو بصورت Query به URL اضافه کرده باشیم و وقتی فرم رو Submit می کنیم، این اطلاعات خودش به URL اضافه میشه و قابل دیدن میشه. باید توجه داشت که اطلاعات حساسی مثل Password نباید در معرض دید قرار بگیره پس نباید برای فرمی که اطلاعات مهمی داره از GET استفاده کنیم تا اطلاعات فرم توی Address Bar قابل رویت نشه. به اضافه اینکه IE توی حجم اطلاعات GET محدودیت داره. به این صورت که وقتی اطلاعات فرم بصورت Query به URL اضافه میشه، طول این URL حداکثر میتونه 2083 کاراکتر باشه. در روش GET، چون اطلاعات فرم کد نمیشوند و ساده منتقل میشوند ، حجم کمتری دارند . اطلاعات فرم در این حالت، توسط متد GET_$ در صفحه مقصد قابل دریافت است . همچنین در روش GET از Upload خبری نیست، یعنی با GET نمیشه آپلود کرد.

پس از submit فرم در این روش ، اطلاعات فرم به صورتی که در کد زیر نمایش داده شده به آدرس صفحه اضافه شده و به صفحه مقصد منتقل می شوند :

Syntax  http://www.developerstudio.ir/submit.php? fname = Ali & age = 26

o            

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

o             متد POST : در این روش اطلاعات فرم برای ارسال به صفحه مقصد کد شده و به صورت مخفی منتقل می شوند . در این حالت دیگر اطلاعات به صورت نمایان در آدرس بار مرورگر قابل مشاهده نبوده و برای ارسال اطلاعات حساس مثل رمز عبور مناسب است .

اطلاعات ارسال شده با این متد در صفحه مقصد توسط متد POST_$ قابل دریافت است .

فرم چگونه مقادیر را خوانده و به صفحه مقصد ارسال می کند :

همانطور که مشاهده کردید در یک فرم همواره چندین کنترل ورودی اطلاعات وجود دارد . هنگامی که فرم submit می شود ، مرورگر به صورت اتوماتیک تمامی مقادیر کنترل های ورودی به همراه نام آن کنترل ها  ( خاصیت name هر کنترل ) را خوانده و به آدرس صفحه اضافه می کند ( این کار در متد POST به صورت مخفی انجام میشود ) . سپس مرورگر صفحه را به همراه جفت نام کنترل ها و مقادیرشان به صفحه مقصد ، ارسال می کند .

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

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

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

مثال عملی در طراحی یک فرم HTML و سپس ارسال آن به مقصد :

مثال : در مثال زیر یک فرم طراحی کرده ایم که از کاربر نام و سن وی را سوال می کند . سپس در صورت کلیک شدن دکمه فرمان  Submit ، فرم به همراه مقادیر وارد شده در کنترل های متن ، به صفحه receive.php ارسال می شوند و آن مقادیر در صفحه جدید مجدد به کاربر نمایش داده می شود .

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

برای مشاهده خروجی مثال و سپس ارسال مقادیر به صفحه مقصد ، بر روی لینک تعیین شده در خروجی مثال کلیک نمایید :

Example

< html >

  < head >

  </head>

<body>

    <form action="recevie.php" method="get">

      Name:

      <input type="text" name="fname" />

      Age:

      <input type="text" name="age" />

      <input type="submit" />

    </form>

</body>

</html>                

پس از ارسال صفحه و اطلاعات به صفحه receive.php ، این اطلاعات توسط این صفحه دریافت شده و به کاربر نمایش داده می شود . کد این صفحه نیز به صورت زیر است :

در قسمت های بعدی آموزش PHP ، به توضیح کامل روش دریافت اطلاعات ارسالی فرم ها می پردازیم .

Example               <html>

<body>

Hello < ? php echo $_GET [ " fname " ] ; ? > ! < br / >

You are < ? php echo $_GET [ " age " ] ; ? > years old.

</body>

</html>

 


© مهر1400 ، کلیه حقوق این سایت متعلق به گروه فنی مهندسی سپاهان آی تی میباشد.