سری آموزش های 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>
خروجی Name:
E-mail:

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

این اطلاعات ، همانطور که توسط خاصیت method فرم تعیین شده است ، از طریق روش POST ) به صورت پشت پرده ) به مقصد ارسال می شوند .

form validation in php 300x168 - سری آموزش های PHP _ راهکار های کار با فرم ها _ بخش 1

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

کد <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>
خروجی
Name:
E-mail: 

 

کد فایل مقصد : در فایل 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 ها و به صورت مخفی به مقصد ارسال می شوند .

postvsget 300x200 - سری آموزش های PHP _ راهکار های کار با فرم ها _ بخش 1

چه زمانی از کدام متد استفاده نماییم ؟

اطلاعاتی که توسط متد GET ارسال می شوند ، به انتهای آدرس صفحه در نوار ابزار مرورگر اضافه شده و توسط تمامی کاربران قابل مشاهده هستند . لذا دارای امنیت بسیار پایینی بوده و هم حجم اطلاعاتی که از این طریق می توانید جا به جا کنید ، حداکثر ۲۰۰۰ کارکتر است .
از طرف دیگر ، به علت مشخص بودن اطلاعات ، می توانید صفحه و آدرس آن را Bookmark نمایید .

نکته مهم : متد GET را نبایستی برای انتقال اطلاعات حساس مثل رمز عبور و … استفاده نمود .
اما اطلاعات ارسالی از طریق متد POST ، از نظر کاربر مخفی بوده ( زیرا به درخواست HTTP صفحه متصل شده و به صورت پشت پرده منتقل می شوند ) و هیچ محدودیتی در حجم اطلاعات ارسالی ندارند .

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

 

منبع: developer1.     مجله تایم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.