طراحی و کار با فرم ها در php

طراحی و کار با فرم ها در php

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

طراحی و کار با فرم ها در php طراحی و کار با فرم ها در php طراحی و کار با فرم ها در php Designed to work with forms in php

طراحی و کار با فرم ها در php

نحوه کار متد get :

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

صفحه اول
در این صفحه اطلاعات خواسته شده را وارد کرده و با submit کردن فرم ، آنها را به صفحه مقصد ارسال نمایید .
در صفحه مقصد از این اطلاعات ورودی شما استفاده خواهد شد .

نام و سن خود را وارد کرده و بر روی دکمه submit کلیک نمایید :

طراحی و کار با فرم ها در php طراحی و کار با فرم ها در php طراحی و کار با فرم ها در php form

طراحی و کار با فرم ها در php

 

صفحه مقصد :
در این صفحه اطلاعت وارد شده توسط شما در صفحه مبدا ، دریافت و مجددا به شما نمایش داده شده است :

Hello themeina!
You are 25 years old

قابل مشاهده است.

 

هنگامی که کاربر اطلاعات خواسته شده را در فرم وارد نموده و آن را submit می کند ، ۲ اتفاق می افتد :

  1. اول اینکه مرورگر به صفحه تعیین شده در خاصیت action یعنی صفحه receive.php ارسال می شود .
  2. دوم اینکه مرورگر نام کنترل های متن و مقادیرشان را به صورت زیر به آدرس صفحه اضافه کرده وآن صفحه را به مقصد ارسال می کند
در روش ارسال get ، اطلاعات درون فرم از طریق نوار آدرس مرورگر نمایش داده شده و بنابراین در معرض دید سایرین بوده و همچنین اطلاعت به راحتی حک می شوند . به همین دلیل نباید از این روش در ارسال اطلاعات حساس مثل رمز عبور و … استفاده کرد و برای ارسال آنها از متد post استفاده کرد . دوم اینکه حجم اطلاعاتی که با این روش می توانید ارسال نمایید ، محدود است .

تفاوت دو متد Get و Post :

بهترین طریقه آموزش برای نمایش تفاوت بین این دو متد ، استفاده از فرم می باشد ، ما با همان فرم قبلی کار خود را شروع می کنیم ، در ابتدا فرم خود را از متد Post به Get تبدیل نمائید :

سپس فرم خود را در xampp اجرا نمائید ، حال اگر شما هر فید نام ، ایمیل و پیام را وارد نمائید و دکمه Submit را کلیک کنید ، در نوار آدرس مرورگر خود با آدرس زیر مواجه می شوید:

http://localhost/xampp/aaa.php?name=MiladHeydari&email=miladbruce%40live.com&comment=i+love+the+world!

همانطور که ملاحظه نمودید ، شما تمام مقادیری که در فیلدهای خود وارد نمودید ، در نوار آدرس مشخص گردید ، پس یعنی متد Get چندان ایمن یا Secure نیست!

GET_$

از GET_$ برای دریافت اطلاعاتی که با متد GET که در تگ form مشخص شده استفاده میکنیم.

  • هنگامی که متد ارسال اطلاعات در تگ form رو روی GET تنظیم کنید (“method=”GET) اطلاعات در URL نمایش داده میشن بنابراین برای ارسال اطلاعات مهم مثل پسورد نباید از این متد استفاده بشه.
  • برای ارسال مقادیر بزرگ نباید از این متد استفاده بشه چون طول اطلاعات ارسالی نمیتونه بیشتر از ۲۰۰۰ کاراکتر باشه. در صورت رعایت نکردن این مهم با خطای Request-URI Too Large مواجه می شوید

POST_$

از POST_$ برای دریافت اطلاعاتی که با متد POST که در تگ form مشخص شده استفاده میکنیم.

  • برخلاف متد GET، در متد POST اطلاعات در URL نمایش داده نمیشن پس برای ارسال اطلاعات مهم مناسبه.
  • با استفاده از این متد میتونید حجم بسیار زیادی از اطلاعات رو ارسال کنید. البته بصورت پیشفرض حداکثر اطلاعات میتونه ۸ مگابایت باشه که در فایل php.ini مشخص شده، برای کم کردن محدودیت میتونید مقدار post_max_size رو افزاریش بدید.

نتیجه گیری :

همان طور که دیدید ، متد Get داده های شما را به صورتی نمایش می دهد که در معرض دید است و همچنین مرورگرهایی همچون Internet Explorer یک محدودیت کارکتری در نوار آدرس را برای خود ایجاد کرده اند به طول ۲۰۴۸ کاراکتر ، بنابراین از متد Get فقط زمانی استفاده می شود که پاسخ فرم ما بسیار کوتاه باشد و همچنبن متد Get چندان ایمن نیست!

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

هر چند که متد Post بسیار ایمن تر از Get می باشد ولی این امنیت به صورت صد درصد نیست ، معمولا بانک ها و سایت هایی مثل سنجش و پیام نور برای امنیت بیشتر فرم های خود از SSH و https استفاده می کنند.

صفحه اول
در این صفحه اطلاعات خواسته شده را وارد کرده و با submit کردن فرم ، آنها را به صفحه مقصد ارسال نمایید .
در صفحه مقصد از این اطلاعات ورودی شما استفاده خواهد شد .

نام و سن خود را وارد کرده و بر روی دکمه submit کلیک نمایید :

 

طراحی و کار با فرم ها در php طراحی و کار با فرم ها در php طراحی و کار با فرم ها در php form

طراحی و کار با فرم ها در php

صفحه مقصد :
در این صفحه اطلاعت وارد شده توسط شما در صفحه مبدا ، دریافت و مجددا به شما نمایش داده شده است :

Hello themeina!
You are 25 years old.
آموزش PHP

دیدگاه خود را بیان کنید