آموزش فرم ها در PHP – ارسال داده های فرم(GET,POST)
سلام
آموزش مباحث مقدماتی PHP به پایان رسید، یکی از موارد دیگری که در PHP با آن ها زیاد سر و کار داریم، فرم ها هستند از فرم ها برای دریافت و ارسال اطلاعات استفاده میکنیم، در این قسمت میخواهیم بپردازیم به چگونگی مدیریت و ایجاد یک فرم در PHP، در ادامه همراه بپرسم باشید.
یک فرم ساده HTML
مثال زیر یک فرم HTML ساده با دو فیلد ورودی و یک دکمه ارسال را نمایش می دهد:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ |
<!DOCTYPE HTML> <html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name"><br> LastName: <input type="text" name="lastname"><br> <input type="submit"> </form> </body> </html> |
در فرم بالا، هنگامی که کاربر دو فلید name و lastname را تکمیل کند و روی دکمه ارسال کلیک کند، اطلاعات به فایل PHP به نام welcome.php ارسال میشود، اطلاعات فرم با روش HTTP POST ارسال میشود.
برای نمایش داده های ارسال شده به صفحه welcome.php میتوانیم به این شکل عمل کنیم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ |
<html> <body> Welcome <?php echo $_POST["name"]; ?><br> Your LastName is: <?php echo $_POST["lastname"]; ?> </body> </html> |
در فرم HTML که داشتیم تو input از نوع Text داشتیم که برای هر کدام یک name تعریف کردیم(name,lastname)، حال در صفحه Welcome.php کافیست که نام هایی که برای هر فیلد در نظر گرفتیم با دستور echo چاپ کنیم تا بتوانیم داده های ارسال شده در فرم را نمایش دهیم.
خروجی کد بالا، میتواند چیزی شبیه به این باشد:
۱ ۲ |
Welcome Ahmad Your LastName is Akhondy |
فرمی که در بالا داشتیم را به روش GET میتوانیم داده ها را اسال کنیم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ |
<!DOCTYPE HTML> <html> <body> <form action="welcome_get.php" method="get"> Name: <input type="text" name="name"><br> LastName: <input type="text" name="lastname"><br> <input type="submit"> </form> </body> </html> |
و کد صفحه welcome_get.php برای نمایش اطاعات ارسال شده:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ |
<html> <body> Welcome <?php echo $_GET["name"]; ?><br> Your LastName is: <?php echo $_GET["lastname"]; ?> </body> </html> |
فرمی که در بالا ساختیم بسیار ساده است، با این حال، مهمترین مساله که امنیت هست رعایت نشده است، برای محافظت از برنامه خود از کدهای مخرب، باید داده های فرم را تایید کنید.
هنگام پردازش فرم های PHP امنیت را در نظر بگیرید!
این کدهایی که در بالا نوشتیم هیچ اعتبار سنجی روی داده های فرم انجام نشده است و فقط یاد گرفتیم چگونه می توانیم از یک فرم استفاده و داده های خود را ارسال و دریافت کنیم.
در قسمت های بعدی از کار با فرم ها در PHP می پردازیم به چگونگی اعتبار سنجی داده ها تا برنامه ی خود را ایمن نگه داریم.
GET و POST
هر دو روش GET و POST یک آرایه ایجاد میکنند(مثلا آرایه key1=>value1,key2=>value2, …..). این آرایه حاوی کلید و مقدار هست، که کلید ها نام input های فرم هستند و مقدار داده های ورودی کاربر.
GET_$ و POST_$ هر دو جزو SuperGlobals(سوپرگلوبال) ها هستند، به این معنی که همیشه در هر جای برنامه قابل دسترسی هستند.
GET_$ یک آرایه از متغیرهایی هست که از طریف پارامترهای موجود در URL به صفحه مورد نظر ارسال میشوند.
POST_$ یک آرایه از متغیرهایی هست که از طریق روش HTTP POST به صفحه مورد نظر ارسال میشوند.
چه زمانی از GET استفاده کنیم؟
زمانی که اطلاعات یک فرم را با روش GET ارسال میکنیم، اطلاعات ارسال شده برای همه قابل مشاهده هست(به این معنا که مقادیر ارسال شده در URL نمایش داده میشود). در روش GET محدودیت حدودا ۲۰۰۰ کاراکتری برای ارسال داده ها داریم.
زمانی که اطلاعات ارسالی حساس نباشد از GET میتوانیم استفاده کنیم.
نکته: از GET برای ارسال داده های حساس مانند رمزهای عبور و … استفاده نکنید.
چه زمانی از POST استفاده کنیم؟
اطلاعات ارسال شده از یک فرم با روش POST برای هیچکس قابل مشاهده نیست(اطلاعات ارسالی در این روش در URL نمایش داده نمیشود) و همچنین در POST هیچ محدودیتی برای ارسال داده ها نداریم.
علاوه بر این، POST از قابلیت های پیشرفته ای مانند پشتیبانی از ارسال همزمان چند باینری نظیر آپلود چندگانه به سرور پشتیبانی میکند.
در ۹۹ درصد موارد از POST استفاده کنید، در شرایطی که به پارامترهای ارسال شده در URL نیاز دارید از GET استفاده کنید.
در قسمت بعدی همراه ما باشید تا ببینیم چگونه میتوانیم داده های موجود در فرم را به روش امن ارسال کنیم.
موفق باشید..
ارسال نظر
شما باید وارد شوید یا عضو شوید تا بتوانید نظر ارسال کنید