0

آموزش مرحله به مرحله PHP

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

آموزش مرحله به مرحله PHP - قسمت نهم - فرم ها
یک شنبه 28 آبان 1391  12:49 PM

پس از يادگيري قواعد و دستورات اوليه زبان برنامه نويسي 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>

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

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

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

نام محصول:      تعداد:     

 

و اگر کد بالا کمي پيچيده به نظر ميرسد براي ادامه کار مجبوريم کمي کد html بیشتر نيز به دست پخت خود اضافه کنيم:

CODE 9-2:
<html>
<head></head>
<body dir="rtl">
<h3>محصول مورد نظر خود را انتخاب نماييد</h3>
<form method="get" action="process.php">
<b>نام محصول:</b>
<select name="cItem">
    <option>بسته آموزشي php</option>
    <option>نرم افزار xampp</option>
    <option>جزوه هاي برنامه نويسي وب</option>
</select>
&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 آشنا خواهیم شد.

تشکرات از این پست
دسترسی سریع به انجمن ها