آموزش طراحی وب

مدرسه مجازی ایرانیان

دسته بندی موضوعات
سفارش تبلیغات

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

form

فصل اول : مبانی php

جلسه نهم : دریافت داده های فرم

سلام به همراهان همیشگی مدرسه مجازی ایرانیان

در این جلسه ی آموزشی در رابطه با سه متغییر پرکاربرد GET _$ و POST _$ و REQUEST _$ صحبت می کنیم و نحوه ی کار با این متغییر هارو خدمتتون آموزش میدم . کاربرد اصلی این متغییرها در دریافت ورودی از کاربر میباشد . زمانی که کاربر داده هارو از طریق فرم ارسال میکنه ، ما میتونیم از طریق این سه متغییر داده هارو دریافت کنیم . در انتها میتونید فایل مثال هارو دریافت کنید و ملاحظه کنید.

 

متغییر GET_ $

زمانی که method فرم رو با GET مقدار دهی کنیم ، زمان دریافت با متغییر GET _$ داده هارو دریافت می کنیم . یکی از معایبی که این متغییر داره اینه که مقادیر و داده های ارسالی رو در نوار آدرس مرورگر (Query String) نمایش میده که این موجب میشه هکر یا نفوذگر به راحتی به مقادیر دسترسی داشته باشه و اونهارو دستکاری کنه .

تصور کنید یک فرم دارید که از کاربر یک نام و یک نام خانوادگی میگیره ؛ که این فرم رو به شکل زیر پیاده می کنیم:

در فرم بالا مقدار action رو خالی گذاشتیم یعنی تو همین صفحه عملیات ارسال رو انجام بده . لازم به ذکره که این صفحه php هست و ما html و php رو باهم ادغام کردیم. میتونید برای آموزش ادغام html و phpدر صفحه ی php این مقاله رو مطالعه بفرمایید.

ویژگی method رو با GET مقداردهی کردیم ، یعنی از روش GET برای ارسال داده ها استفاده کن.

Input هارو هم با name نام گذاری کردیم تا هنگام دریافت داده هایی که از سمت این فیلدها ارسال میشه بتونیم اونهارو شناسایی کنیم.

فرم ما به شکل زیر نمایش داده میشه :

1

حالا میریم سمت سرور تا ببینیم کدهای php رو چطوری باید بنویسیم:

 

در مثال بالا ما گفتیم در صورتی که مقداری با شناسه ی txtName و txtFamily از سمت فرم ارسال شد ، اونهارو چاپ کن و نمایش بده ، اگر دقت کرده باشید دریافت ها با GET انجام شد.

حالا زمانی که ما فرم رو پر کنیم و دکمه ی ارسال رو بزنیم مقادیر رو دریافت میکنه و برای ما چاپ می کنه:

2

اما چون با متغییر $ _GET اینکار رو کردیم مقادیر در نوار آدرس هم نمایان شده :

http://mydomain.com/iroschool.php?txtName=Mitra&txtFamily=Rahimi

این روش امنیت سایت شمارو تهدید می کنه ، مگر اینکه سمت سرور بصورت کاملا حرفه ای مقادیر دریافتی رو کنترل کنید.

 

متغییر POST _$

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

حالا میایم مثال بالارو با متد POST و متغییر POST _$ پیاده می کنیم:

 

اینبار سمت سرور برای دریافت داده های فرم از متغییر $ _POST استفاده می کنیم:

 

همونطور که میبینید نحوه ی کار با این دو متغییر کاملا شبیه به هم هست. حالا اطلاعات فرم رو با مقادیر قبلی تکمیل می کنیم و دکمه ی ارسال رو میزنیم:

2

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

http://mydomain.com/iroschool.php

 

متغییر REQUEST _$

برای دریافت اطلاعات ارسال شده از سمت فرم می تونید از متغییر REQUEST _$ هم استفاده کنید . این متغییر بصورت خودکار تشخیص میده که شما از متد POST یا GET استفاده کردید، براش فرقی نداره با هر متدی فرم رو ارسال کنید ، داده هارو میگیره و نمایش میده . اما خاصیت هر متد رو حفظ میکنه ، مثلا اگر متد GET در فرم تعریف شده باشه ، هنگام دریافت اطلاعات اونهارو در نوار آدرس نمایش میده. این متغییر رو هم پیشنهاد نمیکنم چرا که گاهی اوقات امنیت سایت شمارو به خطر میندازه.

نحوه ی دریافت اطلاعات به وسیله ی این متغییر به شکل زیر خواهد بود :

 

خوب امیدوارم که این مقاله آموزشی براتون مفید باشه.

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

موفق و پاینده باشید

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

دریافت فایل
رمز تمامی فایل های رمز دار : iranweblearn.com یا iroschool.com

<<

>>

اگر این آموزش برای شما مفید بود با دوستان خود به اشتراک بگذارید



سفارش تبلیغات

گردآوری و تالیف : میترا رحیمی

بنیانگذار و نوسنده در مدرسه مجازی ایرانیان و سردبیر ماهنامه طراحی وب همچنین مدرس و مسلط به برنامه نویسی سمت سرور با PHP MVC و برنامه نویسی سمت کلاینت با html 5 , css3 , jquery , مبانی سئو و سیستم مدیریت محتوای وردپرس

خوراک خوشمزه و علمی روزانه
با وارد کردن ایمیلتون در فیلد روبرو آموزش های جذاب و vip دریافت نمایید

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

دیدگاه های مخاطبین

لطفا تنها دیدگاه خود را در رابطه با این مطلب ارسال نمایید، سوالات را از طریق سامانه پرسش و پاسخ مطرح نمایید. سوالات در دیدگاه ها تایید نخواهد شد.

  • امیرحسام

    ممنون آموزش خوبی بود
    من تازه فهمیدم چرا مرورگرم همه چیرو نشون میده
    ممنون مشکلمو حل کردید
    به کارتون ادامه بدید
    ایشالله همیشه موفق باشید

  • امین

    ممنون ، آموزش خوبی بود
    لطفا در جلسات بعد به « ارسال داده ها ی فرم به ایمیل » بپردازید
    با سپاس

  • عرفان امیری

    ممنون خیلی عالی بود
    فقط میشه بگید کدهایی که درسمت سرور مینویسیم رو دقیقا کجا بنویسیم ک اجرا بشه؟؟

    • میترا رحیمی

      سلام دوست عزیز
      فقط کافیه کدهای php رو داخل تگ php بذارید و فایلتون رو هم از html به php تبدیل کنید.
      موفق باشید

  • reza

    سلام
    اگه من یک فرم رو تو سایتم قرار بدم و بخوام اطلاعاتی که کاربر سایتم ارسال می کنه به طور اتومات دریافت و ذخیره کنم باید چی کار کنم ؟چون با این کد ها نتونستم این کار رو بکنم(امید وارم متوجه منظورم شده باشید).

    • میترا رحیمی

      سلام دوست عزیز
      این فرم بصورت استاتیک طراحی شده ، بدین معنی که ثابته و ظاهر کار رو برای شما فراهم میکنه ، اگر بخواین داینامیک باشه و اطلاعات ارسالی فرم رو در یه جایی بنام دیتابیس ذخیره کنید و هروقت خواستید اطلاعات رو از اون مکان (دیتابیس) بگیرید و مطالعه کنید ، باید با استفاده از یک زبان برنامه نویسی مثلا php این کار رو انجام بدید.
      همیشه ظاهر کار رو که اصلاحا بهش میگن سمت کلاینت با html , css, jquery پیاده سازی می کنن و عملیات سمت سرور که همون داینامیک کردن هست رو با یه زبان برنامه نویسی مثل php و … انجام میدن، اینا باهم ادغام میشن.
      موفق باشید

وبلاگ مدرسه

مختصری درباره ما
مدرسه مجازی ایرانیان در زمینه آموزش علوم و فنون طراحی و برنامه نویسی صفحات وب اعم از آموزش زبان های برنامه نویسی و کدنویسی و همچنین آموزش طراحی گرافیک توسط نرم افزارهای گرافیکی پیکسلی و برداری فعالیت دارد .
ورود به وبلاگ

مدرسین مدرسه

  • حسین همت یار

    حسین همت یار

    مدرس ، طراح رابط کاربری وب و موبایل با 8 سال سابقه ی فعالیت حرفه ای

سوابق کامل

آخرین پرسش و پاسخ ها

آخرین پرسش و پاسخ ها
شما هم سوالی دارید ؟