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