شما اینجا هستید

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

1 post / 0 جدید

وضعیت: آفلاین
  • تعداد ارسال: ۴
  • تاریخ عضویت: ۱۳۹۵/۰۹/۲۵
  • آخرین حضور: ۱۳۹۶/۰۳/۰۳
  • سمت: کاربر عضو
  • موقعیت: نامشخص

متغیرهای سراسری ویژه variables $_POST superglobal و $_GET برای جمع آوری اطلاعات فرم ها در زبان PHP به کار می روند.
کد مثال عملی زیر، یک فرم ساده HTML Form با دو کادر ورود اطلاعات (input fields) و یک دکمه ارسال اطلاعات (submit button) را نشان می دهد. به ساختار کلی آن نگاهی می اندازیم :

Name:
E-mail:

هنگامی که کاربر اطلاعات لازم را در کادرهای متنی فرم فوق وارد نموده و دکمه “submit” را برای ارسال اطلاعات کلیک می کند با اطلاعات فرم به فایل “welcome.php” که در خاصیت action تگ فرم
تعیین شده است، ارسال می شوند. از روش HTTP POST برای ارسال اطلاعات در مثال فوق استفاده شده است.
برای نمایش اطلاعات ارسال شده، می توانید به صورت زیر از دستور echo استفاده نمایید. کد فایل “welcome.php” به صورت زیر می باشد :

Welcome
Your email address is:

و خروجی صفحه فوق هم به صورت زیر خواهد بود :

Welcome John
Your email address is john.doe@example.com

با به کار بردن روش HTTP GET برای ارسال اطلاعات، همانند کد مثال زیر، نتیجه مشابهی حاصل خواهد شد

Name:
E-mail:

البته کد فایل “welcome.php” در حالت دوم به صورت زیر است :

Welcome
Your email address is:

کد هر دو مثال فوق، نسبتا ساده هستند. اما در اصل، مهم ترین چیز را فراموش کرده ایم! شما بایستی اطلاعات فرم را قبل از ارسال تا اعتبارسنجی یا validate کنید تا از ارسال کدهای مخرب به سرور جلوگیری نمایید.
راهنمایی مهم

در هنگام پردازش اطلاعات فرم های PHP به امنیت یاsecurity اطلاعات بسیار دقت کنید.

در مثال های این درس، هیچ اعتبار سنجی یا validation ی بر روی اطلاعات صورت نمی گیرد. این کدها فقط برای نشان دادن نحوه ارسال و دریافت اطلاعات فرم ها طراحی شده اند.
اما در درس های بعدی، نحوه اعتبارسنجی و رعایت اصول امنیتی را در هنگام پردازش فرم های PHP آموزش خواهیم داد. اعتبارسنجی یا validation صحیح اطلاعات برای محافظت سایت شما از رخنه و نفوذ هکرها و اسپمرها نکته ای حیاتی است.
مقایسه روش های GET و POST در ارسال اطلاعات :

هر دو روش GET و POST در هنگام ارسال اطلاعات یک آرایه به صورت (array(key=>value,key2=>value2,key3=>value3,…
ایجاد می کنند. این آرایه جفت های مقدار/نام یا key/value را نگهداری می کنند که در هر دو، کلیدها یا keys نام کنترل های موجود در فرم و مقادیر یا values اطلاعات وارد شده توسط کاربر در آن کنترل ها می باشند.
هر دو روش GET و POST از متغیرهای سراسری $_GET و $_POST برای ارسال نگهداری اطلاعات استفاده می کنند. به عبارت دیگر، این متغیرها superglobal variables بوده و به این معناست که همواره و از هر جای کد اسکریپت قابل دسترس هستند. شما می توانید به مقادیر این متغیرها در هر تابع، کلاس یا متدی بدون نیاز به انجام کار خاصی و بدون توجه به scope یا میدان دید در کل کد صفحه دسترسی داشته باشید.
آرایه متغیر $_GET از طریق آدرس یا URL صفحه به مقصد ارسال می شوند، در حالی که آرایه متغیر $_POST به روش POST و در پشت پرده اسکریپت انتقال می یابد.
چه زمانی از روش GET استفاده کنیم؟

اطلاعاتی که به وسیله متد GET ارسال می شوند، برای همگان قابل رویت هستند (زیرا نام متغیرها و مقدار آن ها یا values در آدرس مرورگر URL صفحه نشان داده می شود). همچنین روش GET محدود شدیدی برای حجم اطلاعات ارسالی دارد. حداکثر اطلاعات قابل ارسال توسط این متد 2000 کاراکتر است. روش GET در برخی مواقع کاربرد مناسب دارد، مثل زمانی که بخواهید کاربر به راحتی بتواند صفحه را Boolmark کند، زیرا می توانید مقادیر مورد نظر خود را همراه با URL ارسال کنید. همچنین این روش برای ارسال اطلاعات غیر حساس به حروف بزرگ یا کوچک مناسب است.
نکته مهم :

اطلاعات مهم و حیاتی مثل رمز عبور، نام کاربری و ... را نبایستی با روش GET ارسال کرد.
چه زمانی از روش POST استفاده کنیم؟

اطلاعاتی که به وسیله روش POST ارسال می شوند (به دلیل این که مقادیر جفت های نام/مقدار به بدنه درخواست HTTP فرم الحاق می شوند)، در پشت پرده صفحه انتقال یافته و از دید سایرین مخفی هستند. همچنبین محدودیتی در حجم اطلاعاتی به وسیله متد POST (بر خلاف متد GET) وجود ندارد.
از طرف دیگر، متد POST از قابلیت های پیشرفته ای مثل امکان ارسال چند تیکه اطلاعات یا multi-port bainary در هنگام آپلود فایل ها به سرور پشتیبانی می کند.
ولی به دلیل این که مقدار متغیرهای اطلاعات در آدرس یا URL صفحه قرار نمی گیرند، روش POST برای Boomark صفحات مناسب نیست.
راهنمایی :

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

مشاهده ادامه آموزش

دانلود فیلم مربوط به این آموزش

نسخه مرتبط: