در بخش قبل در قسمت آموزش فرم ها در PHP به شما نمایش دادیم که چگونه یک فرم ساده HTML را طراحی کرده و اطلاعات آن را به یک صفحه دیگر برای پردازش و استفاده انتقال دهید.
حتما بخوانید : مرجع توابع و فیلترهای اعتبارسنج در PHP
همانطور که گفتیم 2 روش برای انتقال اطلاعات فرم ها در PHP وجود دارد. متد get و متد post . در این بخش می خواهیم نحوه ارسال اطلاعات یک فرم توسط متد post و سپس دریافت اطلاعات در صفحه مقصد ، توسط متغیر POST_$ را تشریح کنیم .
نحوه کار متد post :
هنگامی که یک فرم را به وسیله متد post ارسال می کنید ، مرورگر به صورت اتوماتیک نام کنترل های درون فرم به همراه مقادیرشان را خوانده و کد می کند . سپس صفحه را به صفحه مقصد ارسال می کند . در این حالت مرورگر جفت نام کنترل های فرم و مقدار را به صورت مخفی و کد شده، برخلاف متد get که به صورت نمایان این کار را انجام می دهد ، به صفحه مقصد ارسال می کند. در این روش اطلاعات از دید کاربر و سایرین مخفی خواهد بود و برای انتقل اطلاعات حساس مانند رمز عبور مناسب است .
فرض کنید که یک فرم به شکل زیر طراحی کرده اید . در این فرم دو کنترل کادر متن داریم که از کاربر نام و سن آن را پرسیده است .
Example | |
<form action=”recevie.php” method=”post” > Name: <input type=”text” name=”fname” /> Age: <input type=”text” name=”age” /> <input type=”submit” /> </form> |
کد |
حتما بخوانید: تابع ( ) date در PHP
هنگامی که کاربر اطلاعات خواسته شده را در فرم وارد نموده و آن را submit می کند ، 2 اتفاق می افتد:
- اول اینکه مرورگر به صفحه تعیین شده در خاصیت action یعنی صفحه receive.php ارسال می شود .
- دوم اینکه مرورگر نام کنترل های متن و مقادیرشان را به صورت کد شده و مخفیانه به صفحه مقصد ارسال می کند :
آدرس در نوار آدرس مرورگر به صورت زیر در خواهد آمد . در این مثال فرض کرده ایم که کاربر برای نام مقدار ali و برای سن مقدار 22 را وارد کرده است :Syntax http://www.AliGhavami.com/receive.php
چند نکته مهم :
در روش ارسال post ، اطلاعات درون فرم کد شده و مخفی ارسال می شوند .بنابراین در معرض دید سایرین نبوده و همچنین اطلاعت به راحتی حک نخواهند شد . به همین دلیل باید از این روش در ارسال اطلاعات حساس مثل رمز عبور و … استفاده کرد .
دوم اینکه حجم اطلاعاتی که با این روش می توانید ارسال نمایید ، نامحدود است .
امکان bookmark کردن صفحه در این روش وجود ندارد .
دریافت اطلاعات ارسالی در صفحه مقصد و استفاده از آنها – متغیر POST_$ :
پس از اینکه کاربر با استفاده از متد post اطلاعات فرم خود را به صفحه مقصد ارسال نمود ، باید آن اطلاعات را در صفحه مقصد دریافت کرده و از آنها استفاده نماید .
برای این منظور در صفحه مقصد از متغیر از پیش تعیین شده ، POST_$ برای دریافت اطلاعات ارسالی استفاده می شود . می توانید به تعداد متغیر های ارسالی به صفحه از متغیر POST_$ استفاده نمایید . فقط باید همان نامی که در فرم صفحه مبدا برای متغیر تعیین شده ، استفاده نمایید .
تشریح روش با یک مثال عملی :
مطالب تشریح شده همراه با کد مورد نیاز آن را در مثال عملی زیر نمایش می دهیم .
کد لازم برای دریافت مقادیر متغیرهای ارسالی ، که در فرم بالای صفحه ارسال شده است به صورت زیر است . در فرم دو متغیر fname و age داشتیم ، که در کد صفحه مقصد آن ها را به روش زیر دریافت کرده و در خروجی دوباره استفاده نموده ایم :
Example | |
<html> <body> Hello < ? php echo $_POST [ ” fname ” ] ; ? > ! < br / > You are < ? php echo $_POST [ ” age ” ] ; ? > years old. </body> </html> |
کد |
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!
و اما کلام آخر…
متغیر POST_$ ابزاری قدرتمند و ایمن برای انتقال دادهها بین کلاینت و سرور است. این متغیر به ویژه در مواقعی که نیاز به ارسال اطلاعات حساس یا حجم بالای داده وجود دارد، کاربردی است.