سبد (0)

تبلیغات

متغیر post_$ در PHP

متغیر POST_$ 

Wiki

POST_$ یک متغیر یا آرایه از پیش تعریف شده است و مقادیر فرم HTMLی که خصوصیت method آن با مقدار "post" پر شده باشد، به صورت اتوماتیک در آن ذخیره می شود.

توجه:

  1. توجه داشته باشید حروف متغیر POST_$، حروف بزرگ است.
  2. اطلاعات ارسال شده توسط دیگران قابل مشاهده نیست، و محدودیتی در ارسال وجود ندارد.
  3. به صورت پیش فرض 8 مگابایت اطلاعات را می توانید از این طریق ارسال کنید(با تغییر مقدار post_max_size در فایل php.ini می توانید این مقدار را تغییر دهید)

مثال:

<form action="welcome.php" method="post">
   Name: <input type="text" name="fname" />
   Age:  <input type="text" name="age" />
         <input type="submit" />
</form>

زمانی که کاربر روی دکمه "Submit" کلیک می کند URL به صورت زیر خواهد بود:

http://www.w3schools.com/welcome.php

فایل "welcome.php" حالا می تواند با استفاده از متغیر POST_$ اطلاعات فرم HTML را جمع آوری کند.

نکته: نام(name) هر فیلد در فرم HTML یونیک است این نام در حقیقت ایندکس آرایه POST_$ خواهد بود، و با آن می توانیم به مقادیر فیلدها دسترسی داشته باشیم

Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.


متغیر REQUEST_$ در PHP

Wiki

REQUEST_$ یک متغیر یا آرایه از پیش تعریف شده است و مقادیر فرم HTMLی که خصوصیت method آن با مقدار "post" یا "get"پر شده باشد، هنگام ارسال به صورت اتوماتیک در آن ذخیره می شود.

این متغیر در حقیقت می تواند شامل محتوای متغیر های زیر باشد:

مثال:

Welcome <?php echo $_REQUEST["fname"]; ?>!<br />
You are <?php echo $_REQUEST["age"]; ?> years old.


متغیر GLOBALS$ در PHP

Wiki

متغیر GLOBALS$ یک متغیر superglobal است که برای دسترسی به متغیرهای عمومی (global) در هر جای اسکریپت ها (داخل توابع و یا متدها) استفاده می شود.

در PHP تمام متغیر های عمومی در آرایه GLOBALS$ ذخیره می‌شوند. ایندکس این آرایه در واقع نام متغیر خواهد بود.

در مثال زیرنحوه ی استفاده از آرایه GLOBALS$ نشان داده شده است:

مثال (متغییر post_$ در PHP)

<?php
$x = 75;
$y = 25;
 
function addition() {
  $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
 
addition();
echo $z;
?>

100

در مثال بالا، از آنجایی که z با استفاده از آرایه GLOBALS$ تعریف شده است، در خارج از تابع ()addition نیز قابل دسترس خواهد بود.


متغیر SERVER_$ در PHP

Wiki

متغیر SERVER_$ یک متغیر superglobal است که اطلاعاتی را درباره ی headerها، مسیر و مکان اسکریپتها و ... در خود نگه می دارد.

در مثال زیر، نحوه استفاده از بعضی عناصر آرایه SERVER_$ نشان داده شده است:

مثال (متغییر post_$ در PHP)

<?php
echo $_SERVER['PHP_SELF'];//نام فایل اسکریبتی که اخیراً اجرا شده است را برمی گرداند
echo "<br>";
echo $_SERVER['SERVER_NAME'];//نام سرور هاست را برمی گرداند
echo "<br>";
echo $_SERVER['HTTP_HOST'];//با توجه به درخواست جاری، هدر هاست را برمی گرداند
echo "<br>";
echo $_SERVER['HTTP_REFERER'];//آدرس کامل صفحه جاری را برمی گرداند
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];//اطلاعات مرورگر و سیستم عامل و ... را برمی گرداند
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];//مسیر اسکریبت جاری را برمی گرداند
?>

در آینده با متغیرهای superglobal زیر نیز آشنا خواهید شد:


برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

دیدگاه‌ها  

+3 # alireza 1395-11-23 15:12
سلام
من وقتی فرمو با post میزنم ارور میده همون کد رو با get ک میزنم کامل جواب میده کلی مثالم امتحان کردم مثال های آموزشیم امتحان کردم
میشه راهنماییم کنید
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1395-11-24 22:07
ُسلام، لطفا متن خطا رو ارسال کنید ...!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر 1373 1395-03-13 18:59
سلام من میخوام یه سایت نتایج زنده ورزش درست کنم میخواستم بیینم از چه کدی میتوم استفاده کنم برای اینکه
دقیقه شمار از یک تا 90 خودش اتوماتیک بره و هروفت بخوام قطع و وصلش کنم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # محمد حسن [,;hv 1395-01-18 19:58
سلام خسته نباشید .
بنده با متد post یک مطلبی رو به یک صفحه ارسال می کنم . و این کد دریافت اونه :
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # مهرداد صلاحی 1395-01-21 11:06
با سلام و تشکر.
کد نیومده. در هنگام ارسال کد به جای عبارت > از ;lt& و به جای عبارت < از ;gt& استفاده کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # nayyerh 1394-11-22 20:59
سلام
من یک کمک اساسی می خوام یک برنامه نوشتم پر از اشکال یک اشکالش رفع میکنم با یک مشکل دیگه مواجه میشم خواهش می کنم کمکم کنید 2 روز بیشتر وقت ندارم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # مهرداد صلاحی 1394-11-22 22:06
با سلام و خسته نباشید.
مشکلتون رو مطرح کنید تا بتونیم کمک کنیم. الآن به نظر شما، ما چطور می‌تونیم کمک کنیم؟؟؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیرکیان 1394-09-25 20:08
لازم به ذکر است که علاوه بر دستور post max size که باید تنظیم شود ؛باید مقدار upload max size نیز تنظیم شود به درستی که موقع ارسال مشکلی پیش نیاید ولی همیشه امکان تغییر وجود ندارد چون روی هاست اشتراکی است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیرحسین شمسی 1394-09-12 14:17
سلام ببخشید من برای اجرای مثال مربوط به متغیر post دچار مشکل میشم یعنی اطلاعاتی که در فرم نوشته میشن چاپ نمیشن خروجی php به این صورت است

Welcome
You are years old

ممنون میشم کمک کنید
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-09-12 15:56
با سلام.
کد کامل رو بذارید اینجا، تا ببینم مشکل از چیه؟
اینطوری نمیشه گفت کجا اشتباه کردید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیرحسین شمسی 1394-09-12 18:33
کدش همین کدی هست که اینجا توی سایته


Name:
Age:




Welcome !
You are years old.

من طبق همین مثال عمل میکنم ولی باز مقدار چاپ شده وارد نمیشود
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1394-09-12 20:13
یه جا رو داری اشتباه می‌کنی.
کد مشکلی نداره!!!


شما کد رو بذاری متوجه میشم مشکل از چیه! تا نبینم نمی‌تونم راهنمایی کنم. باید ببینم چی کار کردی.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیرحسین شمسی 1394-09-12 20:45
این کد html :


نام:
ایمیل:




اینم کد php:

نام :
ایمیل:


امیدوارم این مشکل رو بشه حل کرد !
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-09-13 17:44
اینجا کدی نیومده!
می‌تونی سؤالت رو در انجمن بیاموز به آدرس http://beyamooz.com/forum/ مطرح کنی.
در انجمن امکان درج کد به طور کامل وجود داره.

یا اینکه کد رو به ایمیل من ارسال کنی؟
ایمیل من [email protected]
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # amin 1394-08-12 15:47
سلام
این کد چی کار می کنه ؟
if ($_SERVER["REQU EST_METHOD"] == "POST")
زما نی که متغییر سرور را با "REQUEST_METHOD " تنظیم کنیم چکار می کند ?
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-08-12 20:48
با سلام.
SERVER_$ یک آرایه‌ی سراسری هست و دارای مشخصات از سرور و همینطور از کلاینت هست. معمولا اطلاعات این آرایه رو می‌خونن و مقدارشو دست نمی‌زنن.

در مورد سؤال شما باید بگم که صفحات در دنیای وب از دو طریق POST و GET ارسال میشن. تفاوت فاحشی بین این دو متد وجود داره، از جمله امنیت، نحوه‌ و محدودیت ارسال دیتا و ...
متد موردنظر شما چک می‌کنه که صفحه‌ی درخواستی از چه طریقی ارسال شده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # mehd zarei 1394-06-23 20:30
سلام
در مثال یک مربوط به متغیر $_post اگر بخواهیم برای مثال علاوه اعمال این کار بر روی صفحه wellcome.php بر روی صفحه ای بنام index.php هم اینکار انجام شود قسمت action رو به چه صورت مینویسیم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-12 20:37
با سلام.
ببینید در اکشن ادرس یک صفحه رو می‌توان ذکر کرد. برای اینکه در تمامی صفحات بتونید از اون متغیرهای مربوط که در فرم ارسال می‌کنید، استفاده کنید، بهترین راه استفاده از متغیر سراسری SESSION_$ هست. که به صورت یک ارایه ی سراسری مقدار می‌گیرد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیر خ 1393-07-19 12:42
مزیت استفاده از REQUEST_$ چیست که از خود متغیرهای POST_$ یا GET_$ استفاده نکنیم در حالی که می دانیم در صفحه فرم از کدام method استفاده کرده ایم؟
و یک سوال دیگه اینکه در صفحه قبل گفته بودید تمام متغییرهای مربوط به method رو توضیح دادید ، در ادامه این مطالب که نبود ، در جای دیگه ای توضیح دادید یا بعدا اضافه می کنید ؟
ممنون از سایت خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1393-07-19 14:12
آرایه REQUEST_$ نسبت به POST_$ یا GET_$ مزیتی نداره، حتی پيشنهاد می شه از اين آرايه استفاده نكنيد چون اگه منتظر دریافت يكسري اطلاعات به روي post باشيد، بدليل استفاده از request_$ صفحه شما مقادير get رو هم ميخونه که این موضوع امنیت را پایین می یاره (بعنوان مثال هنگام LOGIN که اطلاعات با متد POST ارسال می شه، اگر سمت سرور نام کاربری و پاسورد را بصورت REQUEST_$ دریافت کنید، یک هکر می تونه، اطلاعات را از طریق متد GET به سرور ارسال کنه) اما بیاد داشته باشید که GET_$ ماکسیمم کاراکتر دریافتی داره اما REQUEST_$ اینطور نیست.
در مورد قسمت دوم سوالتون، ان شا الله، در انتهای همین مطلب، بقیه ی متغییرهای Superglobal را خواهیم گفت.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر خ 1393-07-20 00:34
ممنون از پاسخ خوبتون
در مورد Superglobal من به شخصه منتظر هستم فقط اگر می شد که وقتی من نوعی لاگین کردم تو سایت ، مطالبی که جدیدتر اضافه می شه تو سایت برای من کاربر ، مجزا از بقیه بخش ها مشخص می شد خیلی عالی بود ، چون ممکنه در هر جای این سایت و مطالبش ، قسمتی اضافه بشه و مسلما من متوجه آن بخش هایی که قبلا مطالعه کردم نمی شم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1393-07-20 08:10
در صفحه نخست سایت بیاموز، سمت راست، با استفاده از پنل "آخرین آموزش های PHP" می توانید آخرین مطالب ویرایش شده را مشاهده فرمایید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر خ 1393-07-20 15:55
چه خوب ،
متشکرم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # paria 1392-11-29 23:47
مرسی از سایت بسیار خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی PHP

بستن
مدرس:
سوال و جواب:

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

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی