loading...
طراحی وب سایت

nariman بازدید : 27 دوشنبه 25 شهریور 1392 نظرات (0)

PHPJAVASCRIPTSQLHTMLCSSAJAXMVCSecurity

آموزش php - فرم ها

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

مرحله اول ايجاد فرم دريافت اطلاعات از کاربر

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

CODE 9-1:

<h3>محصول مورد نظر خود را انتخاب نماييد</h3>

<form>

<b>نام محصول:</b>

<select>

    <option>بسته آموزشي php</option>

    <option>نرم افزار xampp</option>

    <option>جزوه هاي برنامه نويسي وب</option>

</select>

&nbsp;

<b>تعداد:</b>

<input type="text" />

&nbsp;

<input type="submit" value="ثبت سفارش" />

</form>

نتيجه قابل نمايش:

اگر همه کارها را درست و بادقت انجام داده باشيد بايد نتيجه به شکل زير براي شما نمايش داده شود:

محصول مورد نظر خود را انتخاب نماييد

&nbsp;

<b>تعداد:</b>

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

&nbsp;

<input type="submit" value="ثبت سفارش" />

</form>

</body>

</html>

در کد بالا خاصيت method روش ارسال اطلاعات و خاصيت action پردازشگر اين فرم را تعيين ميکند. در اين مثال روش ارسال را get انتخاب کرديم و تصميم گرفتيم که اطلاعات اين فرم براي فايل process.php ارسال شود. به زبان ساده قرار است فايل process.php که در ادامه آن را ايجاد ميکنيم وظيفه پردازش اطلاعات ارسال شده توسط کاربر را بر عهده بگيرد.

 

مرحله دوم ساخت فايل process.php

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

 

براي شروع اين مرحله فايل processForm.php را ايجاد مي کنيم

CODE 9-3:

1   <html>

2   <body dir="rtl">

3   <?php

4      echo 'سفارش شما ثبت شد <br />';

5      echo 'سبد خريد شما شامل  <b>' . $_GET['cQtty'] . '  ' . $_GET['cItem'] . '</b> مي باشد';

6   ?>

7   </body>

8   </html>

در اين مثال قرار است کد php ي که نوشتيم نوع و تعداد کالاي انتخابي را براي کاربر سايت نمايش دهد. با دستور echo در قسمت قبلي آموزش php آشنا شديم ولي اگر خوب به خط 5 از کد 3-9 دقت کنيم دستور جديدي به نام $_GET مي بينيم و اگر بيشتر دقت کنيم cItem و cQtty هم آشنا به نظر ميرسند. $_GET در حقيقت آرايه اي است که مقادير ورودي فرم html ي که به سمت سرور submit شده است را در خود نگه مي دارد. براي دسترسي به مقادير اين آرايه نياز به کليد داريم. در اينجا کليد دسترسي نامي است که به عناصر فرم html خود داديم. مثلا دستور $_GET['cQtty '] در اين مثال تعداد سفارش کاربر را در اختيار ما قرار مي دهد.

 

براي آشنايي بيشتر با آرايه ها در php به مطالعه بخش آموزش آرايه ها در php مراجعه کنيد!

 

براي اينکه کد فرم براي زبان فارسي به صورت درست نمايش داده شود بايد دو مورد زير را حتما انجام دهيم. اين دو مورد جزو مواردي است که معمولا درباره آن از ما سوال ميشود و عدم رعايت آن باعث نمايش نادرست صفحات html فارسي ميشود.

 

   1 . وقتي که در ويرايشگر متن کدها را نوشتيم نوع enconding صفحه را UTF8 انتخاب کنيم. براي مثال در notepad++ از منوي Encoding گزينه Encode in UTF8 without BOM را انتخاب مي کنيم و بعد فايل را ذخيره ميکنيم.

 

   2 . در تگ Body از خاصيت dir="rtl" استفاده مي کنيم.

 

تا اينجا ياد گرفتيم چطور مقادير ارسال شده از سمت کلاينت (کد html) را در کد php خود استفاده کنيم. در بخش هاي بعدي با ابعاد کاربردي تري از php آشنا خواهيم شد.

آموزش php - توابع

توسط: ميثم کريمي | ??-ارديبهشت-???? | PHP

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

 

 

 

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

 

 

 

برنامه نويسي به اين روش کاري بسيار بسيار بسيار سخت خواهد بود. کافي است يکبار در دنياي واقعي امتحان کنيد!!!

 

يکي از راهکارهايي که به نظر مناسب مي رسد اين است که قطعه کدي که در برنامه زياد تکرار مي شود را با يک نام مشخص نامگذاري کنيم و دربخش هايي از کد php که به آن نياز داريم فقط نام آن را بنويسيم و php به صورت خودکار هربار که به نام مشخص شده رسيد ابتدا قطعه کد مورد نظر را اجرا نمايد سپس دوباره به همان مکاني که نام قطعه کد را براي اجرا نوشته بوديم ، بازگردد و اجرا کدها را از سر بگيرد (اين کد بدون فراخواني نام آن هيچ وقت اجرا نخواهد شد). در اين روش هربار که نياز به تغيير در قعطه کد تکراري باشد فقط يکبار و در يکجا آن را تغيير مي دهيم. شکل زير نمايش درستي از روش جديد است:

 

 

 

در دنياي برنامه نويسي به هر بلاک از کد که اسمي به آن اختصاص داده شده باشد و بتوان آن را در بخش هاي مختلف برنامه فراخواني کرد و پس از فراخواني و اجراي قطعه کد ، کنترل اجرا دوباره به بخش فراخوان بازگردد رويه (Procedure) و اگر اين رويه مقداري به عنوان نتيجه محاسبات خود باز گرداند به آن تابع (Function) مي گوييم.

 

در زبان php هر دو مفهوم ادغام شده اند و تحت عنوان تابع (Function) شناسايي مي شوند. براي تعريف يک تابع در زبان php به روش زير عمل مي کنيم:

 

function fName()

{

    // Code

}

براي اينکه تابعي در زبان php تعريف شود فقط و فقط کافي است در قطعه کد بالا fName را به نام مورد نظر خود تغيير دهيد و دستورات مورد نياز را در بخش Code بنويسيد.

 

معمولا پيشنهاد ميشود که اسامي توابع به نحوي انتخاب شوند که نام انتخاب شده معرفي کننده عملي باشد که تابع انجام مي دهد.

 

براي اجراي تابع در زبان php تنها کاري که بايد انجام شود اين است که بعد از تعريف تابع در محلي که نياز به فرخواني (اجرا) تابع داريم نام تابع را همراه با پرانتز باز و بسته بنويسيم:

 

fName();

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

 

پارامترهاي توابع در php

توابع در برنامه نويسي قابليت و انعطاف زيادي به برنامه نويسي مي دهد ولي همه قابليت آن چيزي که تا اينجا بيان کرديم نبود. براي مثال فرض کنيد بخواهيم تابعي در php تعريف کنيم که جمع دو عدد را به کاربر نمايش دهد:

 

function addNumbers()

{

    $sum = $a + $b;

    echo $sum;

}

ولي نکته اينجاست که در کد بالا متغيرهاي $a و $b بايد به صورت سراسري تعريف شوند و اين بدين معناست که بايد برنامه خود را با دقت خيلي زيادي بنويسيم چراکه ممکن است در بخش هايي از کد مقادير اين متغيرها را دچار تغييرات ناخواسته نماييم ، ضمن اينکه از حافطه به شکل بهينه استفاده نکرده ايم.

 

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

 

راه حل مساله بالا تعريف پارامتر براي اين تابع است. پارامتر به زبان خيلي ساده متغيري است که به عنوان ورودي اطلاعات براي تابع مورد استفاده قرار ميگيرد. تعريف پارامتر براي توابع php خيلي ساده است کافي است نام آن را داخل پرانتزهاي جلوي نام تابع بنويسيم:

 

function addNumbers($a , $b)

{

    $sum = $a + $b;

    echo $sum;

}

مثال بالا تابع جمع دو عدد را با پارامترهاي $a و $b نشان مي دهد. بايد توجه طراحی وب سایت داشته باشيد که در اين مثال نيازي به تعريف متغيرهاي سراسري نيست ، و $a و $b به صورت محلي به عنوان پارامترهاي تابع addNumbers تعريف شده اند و بيرون از تابع قابل استفاده نخواهند بود.

 

براي ارسال مقدار به پارامترهاي تابع در زبان php به شکل زير عمل مي کنيم:

 

addNumbers(100,200);

با اجراي دستور فوق عدد 300 براي کاربر نمايش داده مي شود.

 

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

 

function addNumbers($a , $b)

{

    $sum = $a + $b;

    return $sum;

}

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

 

$result = addNumbers(100,200);

در قطعه کد php بالا متغير $result حاوي خروجي تابع - در اين مثال مقدار 300 - خواهد بود.

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 19
  • کل نظرات : 5
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 0
  • آی پی دیروز : 11
  • بازدید امروز : 1
  • باردید دیروز : 7
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 9
  • بازدید ماه : 8
  • بازدید سال : 32
  • بازدید کلی : 2,593