آموزش PHP   >   مقدمه آموزش PHP   >  متغیرهای سراسری و پیش ساخته PHP

معرفی متغیرهای سراسری ( Superglobals ) در PHP :

    متغیرهای سراسری ( Superglobals ) ، متغیرهای پیش ساخته ای هستند که از ورژن 4.0.1 به بعد در PHP معرفی شده و در تمام کدهای صفحات PHP قابل دسترسی و استفاده می باشند .
این متغیرها از پیش تعریف شده اند و شما بدون نیاز به انجام کار خاصی ، می توانید آنها را در هر تابع ، کلاس و ... به آسانی به کار ببرید .
لیست زیر متغیرهای سراسری و پیش ساخته PHP را شامل می شود . برخی از این متغیرها را در این درس توضیح داده ایم . بقیه آنها در سایر بخش ها معرفی شده اند :

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

متغیر سراسری GLOBAL$ :

از این متغیر سراسری ، برای تعریف متغیرهایی که با یک نام یا اندیس خاص مشخص شده و در تمام کدهای صفحه قابل دسترسی هستند ، استفاده می شود .
زبان PHP ، کلیه متغیرهای GLOBAL تعریف شده را در یک متغیر آرایه ای به صورت [GLOBAL[index$ نگهداری می کند که در آن index ، نام متغیر مورد نظر است .
مثال عملی زیر نحوه استفاده از متغیر سراسری GLOBAL$ را در یک کد PHP نشان می دهد .
توضیح کد : از آنجایی که متغیر z ، توسط متغیر سراسری GLOBAL$ تعریف شده ، در خارج از کد تابع مثال نیز ، قابل دسترسی است .

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

    addition();
    echo $z;

? >
کد

متغیر سراسری REQUEST_$ :

متغیر سراسری REQUEST_$ ، برای جمع آوری اطلاعات ارسال شده پس از submit ، فرم های HTML در صفحه استفاده می شود .
برای درک بهتر به مثال زیر دقت کنید . مثال زیر کد یک فرم HTML است که دارای یک کنترل input برای دریافت نام و یک دکمه فرمان برای Submit ( ارسال فرم ) صفحه است . اطلاعات فرم پس از کلیک کاربر بر روی دکمه فرمان Submit به آدرس صفحه تعیین شده در خاصیت action تگ <form> ارسال می شود .
در مثال زیر ، ما مقدار خاصیت action فرم را خالی گذاشته ایم تا اطلاعات فرم برای پردازش ، مجددا به خود صفحه باز گردد . اما می توانید آدرس هر فایل دیگر PHP که مورد نظرتان استت را برای پردازش اطلاعات فرم ، درون خاصیت تعریف کنید . پس از ارسال اطلاعات فرم به صفحه ، از یک متغیر سراسری REQUEST_$ ، یرای جمع آوری اطلاعات ارسال شده از فرم که در این مثال نام است ، استفاده می شود .

Example
<html>
<body>
   <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
      Name: <input type="text" name="fname">
      <input type="submit">
   </form>

   <?php
      $name = $_REQUEST['fname'];
      echo $name;
   ?>

</body>
</html>
کد

متغیر سراسری POST_$ :

متغیر سراسری POST_$ در PHP برای دو منظور کلی استفاده می شود :

  • جمع آوری اطلاعات در فرم های HTML که مقدار خاصیت متد آنها بر روی POST تنظیم شده ، پس از Submit در صفحه .
  • ارسال مقادیر فرم های HTML به صفحات دیگر .

مثال زیر همانند مثال قبل یک فرم HTML را نشان می دهد که دارای یک فیلد برای ورود نام و یک دکمه فرمان برای Submit صفحه است . با این تفاوت که مقدار متد ارسال اطلاعات آن بر روی POST تنظیم شده است . همچنین اطلاعات فرم توسط خاصیت action به خود صفحه مجددا ارسال شده تا پردازش شود .
یک متغیر سراسری POST_$ به نام fname نیز برای جمع آوری مقدار ارسال شده توسط فرم است .

Example
<html>
<body>
   <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
      Name: <input type="text" name="fname">
      <input type="submit">
   </form>

   <?php
      $name = $_POST['fname'];
      echo $name;
   ?>

</body>
</html>
کد

متغیر سراسری GET_$ :

از متغیر سراسری GET_$ برای جمع آوری و دریافت اطلاعات ارسالی توسط متد GET پس از Submit یک یک فرم HTML در صفحه استفاده می شود .
از این متغیر برای همچنین می توانید برای خواندن و دریافت اطلاعاتی که به دنبال آدرس صفحه ارسال می شوند ، استفاده کنید . برای این منظور به مثال زیر دقت نمایید .
مثال عملی : فرض کنید که یک لینک با کد زیر در صفحه داریم :

Example
<html>
<body>
   <a href="test.php?subject=PHP&web=Developer1.ir">Test $GET</a>
</body>
</html>
کد

پس از اینکه کاربر بر روی لینک کلیک نماید ، به صفحه Test.php رفته و همچنین اطلاعات subject = PHP و web = Developer1.ir به صفحه ارسال می شوند . به وسیله کد زیر در صفحه Test.php کد صفحه مقصد است ، می توانید برای دریافت اطلاعات ارسالی استفاده نمایید .

Example
<html>
<body>
   <?
      php echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
    ?>

</html>
کد


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه  :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :               
آدرس Email :  

نظر شما :      
سوال امنیتی : جمع سه + پنج چنده ؟