مدیریت فرم های HTMLدر این راهکار قصد داریم تا شما را با نحوه ایجاد و مدیریت فرم های HTML در PHP و سپس ارسال اطلاعات آنها، به صفحه مقصد جهت پردازش آشنا نماییم . برای طراحی فرم ها، از زبان و کنترل های HTML استفاده کرده و سپس برای دریافت و پردازش اطلاعات ارسالی از فرم، از برنامه نویسی PHP بهره می گیریم. در زبان PHP ، متغیرهای سراسری GET_$ و POST_$ ، همانطور که در این راهکار خواهید دید ، برای دریافت اطلاعات ارسالی از فرم ها در صفحه استفاده می شوند.
حتما بخوانید: تابع ( ) header در PHP
نمونه یک فرم ساده HTML
کد زیر، یک فرم ساده HTML، شامل دو کنترل input برای دریافت مقادیر و یک کنترل submit برای ارسال اطلاعات فرم است. به کد آن دقت نمایید:
کد | <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 ) به صورت پشت پرده ) به مقصد ارسال می شوند .
در صفحه مقصد، بایستی توسط متغیرهای مناسب ، مقادیر ارسالی را دریافت کرده و آن را نمایش داده یا پردازش کنید. برای مثال، از کدی همانند زیر می توانید برای نمایش اطلاعات دریافتی بهره بگیرید . این صفحه اطلاعات وارد شده در صفحه قبل را در یک قالب جدید نمایش می دهد :
کد | <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> |
خروجی |
حتما بخوانید: تابع ( ) closedir در PHP
کد فایل مقصد : در فایل 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) هستند ، یعنی اینکه در تمام بخش ها و کدهای اسکریپت قابل دسترس بوده و محدودیتی ندارند.
اطلاعات در متد GET از طریق اضافه شدن به آدرص صفحه و در متد POST از طریق Session ها و به صورت مخفی به مقصد ارسال می شوند.
چه زمانی از کدام متد استفاده نماییم ؟
اطلاعاتی که توسط متد GET ارسال می شوند ، به انتهای آدرس صفحه در نوار ابزار مرورگر اضافه شده و توسط تمامی کاربران قابل مشاهده هستند . لذا دارای امنیت بسیار پایینی بوده و هم حجم اطلاعاتی که از این طریق می توانید جا به جا کنید ، حداکثر 2000 کارکتر است .
از طرف دیگر ، به علت مشخص بودن اطلاعات ، می توانید صفحه و آدرس آن را Bookmark نمایید .
نکته مهم : متد GET را نبایستی برای انتقال اطلاعات حساس مثل رمز عبور و … استفاده نمود .
اما اطلاعات ارسالی از طریق متد POST ، از نظر کاربر مخفی بوده ( زیرا به درخواست HTTP صفحه متصل شده و به صورت پشت پرده منتقل می شوند ) و هیچ محدودیتی در حجم اطلاعات ارسالی ندارند . به علت مخفی بودن اطلاعات ، قادر به Bookmark کردن صفحه نخواهید بود و همچنین امنیت اطلاعات در این روش بسیار بالاتر است . اکثر برنامه نویسان از متد POST برای ارسال اطلاعات خود استفاده می کنند.
در راهکارهای بعدی ، با نحوه اعتبار سنجی اطلاعات ورودی در فرم های و نحوه پردازش آنها ، آشنا می شوید.
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!
و اما کلام آخر…
با پیروی از این مراحل و نکات، میتوانید فرمهای HTML کارآمد و ایمنی در PHP طراحی و مدیریت کنید.