PHP 5
PHP $_SERVER, $_POST, $_GET, $_GLOBALS

PHP global o'zgaruvchilari - Superglobals


PHP-da bir nechta oldindan aniqlangan parametrlar "superglobals" dir,
ya'ni ular doiraga qaramasdan har doim ham ochiqdir, va siz ularga biron
bir maxsus vazifa qilmasdan biron-bir funktsiyadan, sinfdan yoki
fayldan kira olasiz.

PHP superglobal o'zgaruvchilari quyidagilardir:

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

Ushbu bobda ba'zi superglobals tushuntiriladi, qolganlari keyingi boblarda tushuntiriladi.


PHP $ GLOBALS


$ GLOBALS PHP skriptidagi har qanday joydan global parametrlarga kirish
uchun ishlatiladigan (shuningdek, funktsiyalar yoki usullardan)
foydalaniladigan PHP global global o'zgaruvchisidir.

PHP barcha global o'zgaruvchilarni $ GLOBALS [ index ] deb nomlangan qatorda saqlaydi. Indeks o'zgaruvchining nomini oladi.

Quyidagi misolda global global o'zgaruvchan $ GLOBALSdan qanday foydalanish kerakligi ko'rsatilgan:

Misol


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


Yuqoridagi misolda, z - $ GLOBALS qatorida joylashgan o'zgaruvchilardan
tashqari, u funksiyaning tashqarisidan ham foydalanish mumkin!


PHP $ _SERVER

$ _SERVER - sarlavhalar, yo'llar va skript joylari haqida ma'lumotni ushlab turgan PHP super global o'zgarmaydigan.

Quyidagi misol $ _SERVER ichidagi ba'zi elementlardan qanday foydalanishni ko'rsatib beradi:

Misol


<?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'];
?>

PHP $ _REQUEST

PHP $ _REQUEST HTML formatini topshirgandan keyin ma'lumotlarni to'plash uchun ishlatiladi.

Quyidagi misolda matn kiritish maydoni va yuborish tugmasi mavjud.
Agar foydalanuvchi "Yuborish" tugmasini bosgan holda ma'lumotlarni
taqdim qilsa, ariza ma'lumotlari <form> yorlig'i ish zarrachasida
ko'rsatilgan faylga yuboriladi.
Ushbu misolda, bu faylni ariza ma'lumotlarini qayta ishlashga qaratamiz.
Agar ariza ma'lumotlarini qayta ishlash uchun boshqa PHP fayli
ishlatmoqchi bo'lsangiz, uni tanlagan fayl nomi bilan almashtiring.
Keyin uskuna qiymatini to'plash uchun super global o'zgaruvchiga $ _REQUEST dan foydalanishimiz mumkin:

Misol


<html>

<body>



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

</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_REQUEST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>


</body>

</html>

PHP $ _POST

PHP $ _POST usuli = "post" bilan HTML formatini topshirgandan keyin ariza ma'lumotlarini to'plash uchun keng tarqalgan. $ _POST o'zgaruvchilardan o'tish uchun keng ishlatiladi.

Quyidagi misolda matn kiritish maydoni va yuborish tugmasi mavjud.
Agar foydalanuvchi "Yuborish" tugmasini bosgan holda ma'lumotlarni
taqdim qilsa, ariza ma'lumotlari <form> yorlig'i ish zarrachasida
ko'rsatilgan faylga yuboriladi.
Ushbu misolda biz ariza ma'lumotlarini qayta ishlash uchun faylni ishora qilamiz.
Agar ariza ma'lumotlarini qayta ishlash uchun boshqa PHP fayli
ishlatmoqchi bo'lsangiz, uni tanlagan fayl nomi bilan almashtiring.
Keyin uskuna qiymatini yig'ish uchun $ _POST global global o'zgarmaydiganidan foydalanishimiz mumkin:

Misol


<html>

<body>

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

</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_POST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>


</body>

</html>

PHP $ _GET

PHP $ _GET usuli = "get" bilan HTML shaklini topshirgandan so'ng ariza ma'lumotlarini to'plash uchun ham foydalanilishi mumkin.

$ _GET shuningdek URLda yuborilgan ma'lumotlarni to'plashi mumkin.

Parametrlarga ega bo'lgan ko'prikni o'z ichiga olgan HTML varaqamiz bor:


<html>

<body>


<a href="test_get.php?subject=PHP&web=Wapso.uz">Test $GET</a>


</body>

</html>


Agar foydalanuvchi "Test $ GET" havolasiga kelsa, "Subject" va "web"
parametrlari "test_get.php" ga yuboriladi va keyin $ _GET bilan
"test_get.php" da o'z qadriyatlariga kirishingiz mumkin.

Quyidagi misolda "test_get.php" ning kodi ko'rsatilgan:

Misol


<html>

<body>

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


</body>

</html>


Site is in test mode