آموزش PHP > راهکارهای موثر در PHP > راهکار های کار با فرم ها در
PHP
بخش اول : طراحی و مدیریت فرم های ساده HTML در PHP
مقدمه :
در این راهکار قصد داریم تا شما را با نحوه ایجاد و مدیریت فرم های HTML در PHP و سپس ارسال اطلاعات آنها
، به صفحه مقصد جهت پردازش آشنا نماییم .
برای طراحی فرم ها ، از زبان و کنترل های
HTML استفاده کرده و سپس برای دریافت و پردازش اطلاعات ارسالی از فرم ، از
برنامه نویسی PHP بهره می گیریم .
در زبان PHP ، متغیرهای سراسری GET_$ و POST_$ ، همانطور که
در این راهکار خواهید دید ، برای دریافت اطلاعات ارسالی از فرم ها در صفحه استفاده
می شوند .
نمونه یک فرم ساده HTML :
کد زیر ، یک فرم ساده HTML
، شامل دو کنترل input برای دریافت مقادیر و یک کنترل sunmit برای ارسال اطلاعات
فرم است . به کد آن دقت نمایید :
|
کد
|
<html>
<body>
<form action="welcome.php" method="post" >
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
|
|
خروجی
|
|
توصیح کد مثال : هنگامی که کاربر ، اطلاعات لازم ( شامل نام و آدرس
ایمیل خود را در فرم بالا ، وارد کرده و دکمه submit را کلیک می کند ، اطلاعات موجود
در فرم به صفحه تعیین شده در خاصیت action یعنی welcome.php ، برای پردازش ارسال می
شود . این اطلاعات ، همانطور که توسط خاصیت method فرم تعیین شده است ، از طریق روش
POST ) به صورت پشت پرده ) به مقصد ارسال می شوند .
در صفحه مقصد ، بایستی توسط متغیرهای مناسب ، مقادیر ارسالی را دریافت کرده و آن را
نمایش داده یا پردازش کنید . برای مثال ، از کدی همانند زیر می توانید برای نمایش اطلاعات
دریافتی بهره بگیرید . این صفحه اطلاعات وارد شده در صفحه قبل را در یک قالب جدید نمایش
می دهد ::
|
کد
|
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
|
|
خروجی
|
مشاهده خروجی کد
|
توضیح کد فوق : کد فوق دو داده ارسالی از فرم صفحه قبل را توسط دو
متغیر سراسری POST_$ به نام های name و email دریافت کرده و در خروجی به صورت زیر نمایش
می دهد :
|
خروجی
|
Welcome Mehrdad
Your email address is john.doe@example.com
|
نکته : فرم بالا را توسط متد GET ، به صورت زیر نیز می توانید بنویسید
:
|
کد
|
<html>
<body>
<form action="welcome_get.php" method="get"
>
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
|
|
خروجی
|
|
کد فایل مقصد : در فایل Welcome_get.php که فایل مقصد برای دریافت
و پردازش اطلاعات است ، فقط متغیرهای دریافت کننده مقادیر ، همانند کد زیر از نوع POST
به GET تغییر می کنند :
|
کد
|
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
|
|
خروجی
|
مشاهده خروجی کد
|
نکته : کد مثال های فوق بسیار ساده و ابتدایی بوده و هیچ گونه عملیات
اعتبار سنجی بر روی داده ها ، انجام نمی دهند . برای مثال ، کاربر می تواند در فیلد
ایمیل یک شماره تلفن یا نام خالی را درون آن وارد نموده ، بدون اینکه برنامه از وی
ایراد بگیرد .
در راهکار بعدی ، با نحوه اعتبار سنجی داده های ورودی در فرم های PHP آشنا خواهید شد
.
تفاوت متد POST و GET :
هر دو متد GET و POST ، در هنگام ارسال اطلاعات فرم ها به صفحه مقصد ، آنها را به صورت
یک آرایه دو بعدی جفت / مقدار به صورت ( Key1 => Value 1 , Key2 => Value2 و ... )
در می آورند ، که در آن Key نام کنترل داده ورودی و Value مقدار داده است .
هر دو متد از متغیرهای سراسری مخصوص به خود که عبارتند از GET_$ و POST_& استفاده می
کنند . این متغیرهای سراسری یا ( Superglobals )
هستند ، یعنی اینکه در تمام بخش ها و کدهای اسکریپت قابل دسترس بوده و محدودیتی ندارند
. برای تعریف و استفاده از آنها نیز ، نیاز به کار خاصی نبوده و در PHP به صورت درون
ساخته آماده استفاده می باشند .
اطلاعات در متد GET از طریق اضافه شدن به آدرص صفحه و در متد POST از طریق Session
ها و به صورت مخفی به مقصد ارسال می شوند .
چه زمانی از کدام متد استفاده نماییم ؟
اطلاعاتی که توسط متد GET ارسال می شوند ، به انتهای آدرس صفحه در نوار ابزار مرورگر
اضافه شده و توسط تمامی کاربران قابل مشاهده هستند . لذا دارای امنیت بسیار پایینی
بوده و هم حجم اطلاعاتی که از این طریق می توانید جا به جا کنید ، حداکثر 2000 کارکتر
است .
از طرف دیگر ، به علت مشخص بودن اطلاعات ، می توانید صفحه و آدرس آن را Bookmark نمایید
.
نکته مهم : متد GET را نبایستی برای انتقال اطلاعات حساس مثل رمز
عبور و ... استفاده نمود .
اما اطلاعات ارسالی از طریق متد POST ، از نظر کاربر مخفی بوده ( زیرا به درخواست HTTP
صفحه متصل شده و به صورت پشت پرده منتقل می شوند ) و هیچ محدودیتی در حجم اطلاعات ارسالی
ندارند .
اما به علت مخفی بودن اطلاعات ، قادر به Bookmark کردن صفحه نخواهید بود و همچنین امنیت
اطلاعات در این روش بسیار بالاتر است . اکثر برنامه نویسان از متد POST برای ارسال
اطلاعات خود استفاده می کنند .
در راهکارهای بعدی ، با نحوه اعتبار سنجی اطلاعات ورودی در فرم های و نحوه پردازش آنها
، آشنا می شوید .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه :