داغ ترین ویدیو بابلز لرن : هک کلاس های مجازی توسط متین برونسی

مدیریت فرم ها در PHP

  /  PHP   /  مدیریت فرم ها در PHP
آموزش PHP

در این بخش به بررسی مدیریت فرم ها در PHP می پردازیم ، از متغیر های سراسری $_GET و $_POST برای جمع آوری داده های فرم ها استفاده می کنیم.

یک فرم ساده HTML در PHP

در مثال زیر یک فرم با دو فیلد ورودی و یک دکمه ارسال ایجاد کرده ایم:

تماشا در حالت تمام صفحه

هنگامی که کاربر فرم بالا را پر می کند و روی دکمه ارسال کلیک می کند، داده های فرم برای پردازش به یک فایل PHP به نام "welcome.php" ارسال می شود. داده های فرم با روش HTTP POST ارسال می شود.

برای نمایش داده های ارسالی می توانید به این شکل عمل کنید:

فایل welcome.php

تماشا در حالت تمام صفحه

خروجی چیزی شبیه به زیر می باشد:

Welcome Matin
Your email address is [email protected]

همین نتیجه را می توان با استفاده از روش HTTP GET نیز به دست آورد:

مثال

این مثال هم مانند فرم مثال قبلی می باشد با این تفاوت که این بار مقدار خاصیت method را به get تغییر داده ایم تا داده ها به صورت HTTP GET ارسال شوند:

تماشا در حالت تمام صفحه

همچنین کد های فایل "welcome_get.php" به شکل زیر است:
تماشا در حالت تمام صفحه

کد های بالا خیلی ساده و ابتدایی خروجی را به کاربر نمایش می دهد ، باید برای افزایش امنیت ، داده های ارسالی را اعتبار سنجی کنید. ( کد بالا به حملات XSS آسیب پذیر می باشد )

دقت داشته باشید که به نکات امنیتی توجه کنید ، در این آموزش ها ما صرفاً می خواهیم نحوه ارسال و دریافت و پردازش داده ها در PHP را به شما نمایش دهیم ، شما باید داده ها را فیلتر و اعتبار سنجی کنید…

در فصل های بعد اعتبار سنجی فرم ها و نکات امنیتی آموزش داده شده است.

GET و POST

هم GET و هم POST یک آرایه ایجاد می کنند.

به عنوان مثال این آرایه را در نظر بگیرید: array( key1 => value1, key2 => value2, key3 => value3, ...)

این آرایه از کلید/مقدار نگهداری می کند ، که در اینجا کلیدها نام کنترل‌های فرم ( خاصیت name در فیلد های فرم ) و مقادیر ، داده‌های ورودی یا ارسالی کاربر هستند.

هر دو متد GET و POST به عنوان متغیر های سراسری $_GET و $_POST در نظر گرفته می شوند.

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

$_GET آرایه ای از متغیرها است که از طریق پارامترهای URL به اسکریپت فعلی ارسال می شود.

$_POST آرایه ای از متغیرها است که از طریق روش HTTP POST به اسکریپت فعلی ارسال می شود.

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

اطلاعات ارسال شده از فرم با متد GET برای همه قابل مشاهده است (همه نام ها و مقادیر متغیرها در URL نمایش داده می شوند). GET همچنین محدودیت هایی در میزان ارسال اطلاعات دارد که محدودیت حدود 2000 کاراکتر است.

با این حال، به دلیل اینکه متغیرها در URL نمایش داده می شوند، می توان صفحه را نشانک ( bookmark ) کرد. این می تواند برای دسترسی سریع به آن صفحه با همان مقدار مفید و کاربردی باشد.

معمولاً از متد GET برای ارسال داده های غیر حساس استفاده می شود.

توجه: از GET هرگز برای ارسال داده های حساس و مهم مانند رمز عبور ، نام کاربری و… استفاده نکنید.

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

اطلاعات ارسال شده از فرم با متد POST برای دیگران نامرئی است (همه نام ها و مقادیر در بدنه درخواست HTTP نگهداری می شوند) و محدودیتی در میزان اطلاعات ارسالی وجود ندارد.

علاوه بر اینها متد POST از ارسال داده های باینری برای آپلود فایل ها پشتیبانی می کند ( برای ارسال فایل سمت سرور هم استفاده می شود )

با توجه به اینکه داده ها در URL نشان داده نمی شود ، امکان دسترسی به آن صفحه با همان داده های ارسال شده وجود ندارد.

معمولاً اکثر برنامه نویس ها برای ارسال داده های یک فرم فقط از متد POST استفاده می کنند.

در ادامه این آموزش به شما نحوه پردازش ایمن داده ها را آموزش داده ایم ( لطفاً مطالب را از صفحه آموزش PHP دنبال کنید )

5/5 - (8 امتیاز)

برای دسترسی به آموزش های بیشتر و ویدیو های من ، کلمه کلیدی متین برونسی را داخل گوگل سرچ کنید.

ارسال یک نظر