<?php
$x=75;
$y=25;
functionaddition()
{
$GLOBALS['z']=$GLOBALS['x']+$GLOBALS['y'];
}
addition();
echo$z;
?>
در این دستور یک تابع جمع و درون تابع جمع ، متغیر GLOBALS$ تعریف شده است. همان طور که گفته شد ، متغیر GLOBALS$ تمام متغیر ها را در هر جای PHP می خواند. در این مثال متغیرهای X وY را خوانده است تا با توسط تابع جمع حاصلشان بدست آید. چون Z با استفاده از متغیر GLOBALS تعریف شده است خارج از تابع هم می توان به آن دسترسی داشت.خروجی این مثال عدد 100 است.
متغیر SERVER_$ در PHP
متغیر SERVER_$ از جمله متغیر های سوپر گلوبال در PHP است که اطلاعاتی درباره عنوان ها ، مسیر ها و محل دستورها می دهد. مثال زیر نحوه استفاده SERVER_$ را در 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'];
?>
با توجه به این که این مثال برگرفته از سایت w3schools است خروجی باید ویژگی های خواسته شده باید برای این سایت باشد. در این مثال با استفاده از متغیر گلوبالSERVER-$ اطلاعی از قبیل نام سرور ، نام دستورها ، http مراجعه کنندگان ، هاست و… را نشان چاپ می کند.
خروجی
/php/demo_global_server.php
www.w3schools.com
www.w3schools.com
http://www.w3schools.com/php/showphp.asp?filename=demo_global_server
Mozilla/5.0 (Windows NT 6.1; rv : 23.0) Gecko/20100101 Firefox/23.0 AlexaToolbar/alxf-2.19 AlexaToolbar/pGURBh8f-2.2
/php/demo_global_server.php
المان هایی که در SERVER_$ قرار می گیرند زیاد هستند. شما می توانید برای دسترسی به آن ها بخش متغیر های SUPERGLOBAL های سایت W3schools مراجعه کنید.
متغیر REQUEST_$ در PHP
متغیر REQUST_$ یکی از متغیر های گلوبال که برای فرم های موجود در سایت ها استفاده می شود. این متغیر اطلاعات یک فرم را که توسط کاربر نوشته شده است جمع آوری می کند.
مثال زیر یک فرم را با یک سری فیلد های ورودی و دکمه تایید نشان می دهد که کاربر پس از تایید اطلاعات وارد شده ، اطلاعات با برچسب <form> ذخیره می شود. به مثال زیر دقت کنید.
<!DOCTYPE html>
<html>
<body>
<form method="post"action="<?phpecho$_SERVER['PHP_SELF'];?>">
Name : <input type="text"name="fname">
<input type="submit">
</form>
<?php
$name=$_REQUEST['fname'];
echo$name;
?>
</body>
</html>
در این مثال خروجی با توجه به آن چه که در فرم وارد می کنید متفاوت است و php تنها این اطلاعات را جمع آوری می کند و به چاپ می رساند. برای امتحان یک خروجی از این مثال اینجا را کلیلک کنید.
متغیر POST_$ در PHP
متغیر سوپر گلوبال POST_$ ویژگی ای همانند متغیر REQUEST_$ دارد با این تفاوت که با روش نوشتاری “method=”post استفاده می شود و به دلیل عبور دادن متغیرها استفاده زیادی دارد. مثال زیر همانند مثال قبل است با این تفاوت که در بخش echo از متغیر post_$ استفاده شده است.
<!DOCTYPE html>
<html>
<body>
<form method="post"action="<?phpecho$_SERVER['PHP_SELF'];?>">
Name : <input type="text"name="fname">
<input type="submit">
</form>
<?php
$name=$_POST['fname'];
echo$name;
?>
</body>
</html>
خروجی این مثال با توجه به داده ای وارد فرم می شود متفاوت است. میتوانید برای دیدن این فرم وارد کردن داده های مختلف به آن اینجا را کلیک کنید .
متغیر GET_$ در PHP
متغیر GET_$ همانند متغیرهای REQUST_$ و POST_$ داده های را در یک فرم پس از ارسال جمع آوری می کند با این تفاوت که برای استفاده از این متغیر باید از روش نوشتاری “method=”get استفاده شود. همچنین متغیر get_$ داده هایی که در URL ها هم فرستاده شده است را می تواند ذخیره کند.
فرض کنید که یک صفحه html که حاوی بک لینک ها با پارامتر ها است.
<html>
<body>
<ahref="test_get.php?subject=PHP&web=W3schools.com">Test$GET</a>
</body>
</html>
هنگامی که یک کابر بر روی لینک “Test $GET” پارامترهای موضوع و وب به آدرس “test_get.php” فرستاده می شود و شما می تواید با متغیر GET_$ به اطلاعات “test_get.php” دست پیدا کنید.
به مثال زیر توجه کنید :
<!DOCTYPE html>
<html>
<body>
<ahref="test_get.php?subject=PHP&web=W3schools.com">Test$GET</a>
</body>
</html>
خروجی دستور زیر با توجه به متغیر Get_$ یک لینک است که موضوع و نام وب را بیان می کند.
خروجی
در ادامه بیشتر به توضیح متغیر گلوبال GET_$ و POST_$ می پردازیم.