متغیر superglobal در PHP

سوپرگلوبال

متغیرهای “بسیار جهانی” اولین بار در نسخه ۴٫۱ پی اچ پی ارائه شد. این متغیرها برای در دسترس بودن در تمام بخش ها ساخته شده اند. چندین متغیر superglobal از پیش تعریف شده در PHP، متغیر های معرفی شده در زیر هستند بدین معنی که بدون در نظر گرفتن بخش، تابع و کلاس و یا هر فایلی قابل استفاده هستند.

  • GLOBALS$
  • SERVER_$
  • REQUEST-$
  • POST_$
  • GET_$
  • FILES_$
  • ENV_$
  • COOKIE_$
  • SESSION_$

در ادامه به توضیح برخی از این متغیرهای superglobal می‌پردازیم.

متغیر GLOBALS$ در PHP

متغیر GLOBALS$ از جمله متغیر های سوپر گلوبال است که برای دسترسی به تمام متغیرهای سوپر گلوبال هر جای اسکریپت ها در PHP نوشته می‌شود.

در PHP تمام متغیر های جهانی در متغیر GLOBALS$ ذخیره می‌شود. مثال زیر به شما نشان می‌دهد که چگونه از متغیر سوپر گلوبال GLOBALS$ استفاده کنیم.

 در این دستور یک تابع جمع  و درون تابع جمع، متغیر GLOBALS$ تعریف شده است. همان طور که گفته شد،متغیر GLOBALS$ تمام متغیر ها را در هر جای PHP می‌خواند. در این مثال متغیرهای X وY را خوانده است تا با توسط تابع جمع حاصلشان بدست آید.  چون Z با استفاده از متغیر GLOBALS تعریف شده است خارج از تابع هم می‌توان به آن دسترسی داشت.خروجی این مثال عدد ۱۰۰ است.

متغیر SERVER_$ در PHP

متغیر SERVER_$ از جمله متغیر های سوپر گلوبال در PHP است که اطلاعاتی درباره عنوان ها، مسیر ها و محل دستورها می‌دهد. مثال زیر نحوه استفاده SERVER_$ را در PHP نشان می‌دهد.

 با توجه به این که این مثال برگرفته از سایت 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> ذخیره می‌شود. به مثال زیر دقت کنید.

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

متغیر POST_$ در PHP

متغیر سوپر گلوبال  POST_$ ویژگی ای همانند متغیر REQUEST_$ دارد با این تفاوت که با روش نوشتاری “method=”post استفاده می‌شود و به دلیل عبور دادن متغیرها استفاده زیادی دارد. مثال زیر همانند مثال قبل است با این تفاوت که در بخش echo از متغیر post_$ استفاده شده است.

 خروجی این مثال با توجه به  داده ای وارد فرم می‌شود متفاوت است. میتوانید برای دیدن این فرم وارد کردن داده های مختلف به آن اینجا را کلیک کنید

 متغیر GET_$ در PHP

متغیر GET_$ همانند متغیرهای REQUST_$ و POST_$ داده های را در یک فرم پس از ارسال جمع آوری می‌کند با این تفاوت که برای استفاده از این متغیر باید از روش نوشتاری “method=”get استفاده شود. همچنین متغیر get_$ داده هایی که در URL ها هم فرستاده شده است را می‌تواند ذخیره کند.

فرض کنید که یک صفحه html که حاوی بک لینک ها با پارامتر ها است.

هنگامی که یک کابر بر روی لینک  “Test $GET” پارامترهای موضوع و وب به آدرس “test_get.php” فرستاده می‌شود و شما می‌تواید با متغیر GET_$ به اطلاعات  “test_get.php” دست پیدا کنید. به مثال زیر توجه کنید:

خروجی دستور زیر با توجه به متغیر Get_$ یک لینک است که موضوع و نام وب را بیان می‌کند.

Test $GET

در ادامه بیشتر به توضیح متغیر گلوبال GET_$ و POST_$ می‌پردازیم.

12 نظرات شما

  • داریوش

    آبان ۲۴, ۱۳۹۲ at ۱۱:۵۱ ب.ظ
    REQUEST_$ چی شدش؟
    • بهاران بنی اسدی

      آبان ۲۵, ۱۳۹۲ at ۹:۴۵ ق.ظ
      سلام میشه سوالتون رو واضح تر بپرسید تا من بتونم کمکتون کنم؟
    • داریوش

      آبان ۲۶, ۱۳۹۲ at ۹:۵۲ ب.ظ
      نمیدونستم واسه چیه $_REQUEST بعدش پیدا کردم چیه ممنون :)
  • Mam MaD

    بهمن ۱۴, ۱۳۹۲ at ۷:۳۶ ب.ظ
    besiar ali mamnon az amozeshe khobeton ba darje manba copy shod
    • بهاران بنی اسدی

      بهمن ۱۵, ۱۳۹۲ at ۹:۱۶ ق.ظ
      سلام مرسی دوست عزیز. همچنینی ممنونم که مطالب را با ذکر منبع کپی میکنید
  • مآنیا

    اردیبهشت ۱۶, ۱۳۹۳ at ۸:۴۶ ب.ظ
    سلام میشه بگین واسه کد نویسی ساخت قالب و.. باید از کجا شروع کرد؟ سپاس
    • بهاران بنی اسدی

      خرداد ۲۶, ۱۳۹۳ at ۶:۱۸ ب.ظ
      اول با HTML و CSS آشنا بشید
  • sadeq

    بهمن ۸, ۱۳۹۳ at ۵:۱۰ ب.ظ
    سلام ممنون از سایت خوبتون...اگه ممکنه SESSION_$ توضیح بدین...
  • امیر محمد

    بهمن ۱۸, ۱۳۹۳ at ۳:۴۸ ب.ظ
    فعلا که عالی داریم پیش میریم واقعا ممنون
  • shahriar

    اردیبهشت ۱۱, ۱۳۹۴ at ۷:۰۷ ب.ظ
    REQUEST-$ فکر کنم اشتباه درج شده REQUEST_$ با تشکر از سایت خوبتون
  • soheil

    مرداد ۲۳, ۱۳۹۴ at ۱۱:۰۰ ب.ظ
    مرسی واقعا خیلی سایت جالبی شدین با وجود اینکه یکم php رو میدونم ولی بازم قسمت اولیه آموزشا خیلی جذبم کرد و کلش رو خوندم واقعا به همچین انسان های خدمت گذار و مهربانی نیاز داریم ما جامعه ایرانی موفق باشید و سپاس از زحمات شما برای کاربران سایت احیانا مسابقه برنامه نویسی در برنامتون نیست چون این آموزش ها قطعا با تمرین بیشتر موثر میشن بازم تشکر و سپاس از مطالبی که به اشتراک گذاشتید
    • الهه قنبری

      مرداد ۲۴, ۱۳۹۴ at ۱۱:۰۷ ق.ظ
      سلام خیلی ممنون! مسابقه ایده خوبی می باشد ایده تان را واضح تر مطرح کنید تا در صورت امکان اجرا شود.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


© 2013 Mobtadi. All rights reserved.
کلیه حقوق مادی و معنوی برای وبسایت مبتدی محفوظ است.