PHP super qlobalları bütün əhatə dairələrindən əldə edilə bilən daxili dəyişənlərdir.

PHP Super Qlobalları (PHP Super Qlobalları)

Bu dərsdə PHP-də bütün super qlobalları misallarla izah edəcəyik. Bunu öyrənmək üçün oxuyun.

PHP Super Qlobalları: $GLOBALS

$GLOBALS superglobal PHP skriptində istənilən sahədən (funksiyalar və ya metodlar daxil olmaqla) qlobal dəyişənlərə daxil olmaq üçün istifadə olunur. PHP bütün qlobal dəyişənləri $GLOBALS[index] adlı massivdə saxlayır. İndeks dəyişənin adını saxlayır. Aşağıdakı nümunə $GLOBALS superqlobal dəyişəninin necə istifadə olunacağını göstərir:

$number1 = 50;
$number2 = 20;
function addition(): int
{
    return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70

PHP Super Qlobalları: $_REQUEST

PHP $_REQUEST HTML formasından məlumat toplamaq üçün istifadə edilən superqlobal PHP-dir.

<!DOCTYPE html>
<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') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_REQUEST[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

Yuxarıdakı nümunədə biz yazı metodu ilə məlumatları qaytaran bir forma yaratdıq. Biz onu $_SERVER['PHP_SELF'] ilə eyni səhifədəki məlumatları qaytarmaq üçün aktiv etdik. $_SERVER['REQUEST_METHOD'] superglobal ilə gələn sorğunun post sorğusu olduğunu təsdiq etdik. Sonra, htmlspecialchars() funksiyasından istifadə edərək, fname adlı girişdən verilənləri təhlükəsiz şəkildə $_REQUEST superglobal ilə $name dəyişəninə ad dəyəri ilə təyin etdik. PHP if şərti ilə $name dəyişəninin boş olub olmadığını yoxladıq. Əgər boşdursa, "No name" çıxışını çap edirik, əks halda $name dəyişəninin məlumatlarını çap edirik.

PHP Super Qlobalları: $_POST

PHP $_POST, POST metodu ilə HTML formasından məlumat toplamaq üçün istifadə edilən PHP superqlobalıdır.

<!DOCTYPE html>
<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') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_POST[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

Yuxarıdakı nümunədə biz yazı metodu ilə məlumatları qaytaran bir forma yaratdıq. Biz onu $_SERVER['PHP_SELF'] ilə eyni səhifədəki məlumatları qaytarmaq üçün aktiv etdik. $_SERVER['REQUEST_METHOD'] superglobal ilə gələn sorğunun post sorğusu olduğunu təsdiq etdik. Sonra, htmlspecialchars() funksiyasından istifadə edərək, fname adlı girişdən verilənləri təhlükəsiz şəkildə $_POST superglobal ilə $name dəyişəninə ad dəyəri ilə təyin etdik. PHP if şərti ilə $name dəyişəninin boş olub olmadığını yoxladıq. Əgər boşdursa, "No name" çıxışını çap edirik, əks halda $name dəyişəninin məlumatlarını çap edirik.

PHP Super Qlobalları: $_GET

PHP $_GET, GET metodu ilə HTML formasından məlumat toplamaq üçün istifadə edilən PHP superqlobalıdır. Biz həmçinin get ilə göndərilən məlumatları $_GET superglobal ilə url-də əldə edə bilərik.

PHP $_GET Super Global ilə Formdan məlumatların əldə edilməsi

Aşağıdakı nümunədə biz PHP $_GET superglobal ilə HTML formasından məlumat aldıq.

<!DOCTYPE html>
<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' ] === 'GET') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_GET[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

Yuxarıdakı nümunədə biz yazı metodu ilə məlumatları qaytaran bir forma yaratdıq. Biz onu $_SERVER['PHP_SELF'] ilə eyni səhifədəki məlumatları qaytarmaq üçün aktiv etdik. $_SERVER['REQUEST_METHOD'] superglobal ilə gələn sorğunun post sorğusu olduğunu təsdiq etdik. Sonra, htmlspecialchars() funksiyasından istifadə edərək, fname adlı girişdən verilənləri təhlükəsiz şəkildə $_POST superglobal ilə $name dəyişəninə ad dəyəri ilə təyin etdik. PHP if şərti ilə $name dəyişəninin boş olub olmadığını yoxladıq. Əgər boşdursa, "No name" çıxışını çap edirik, əks halda $name dəyişəninin məlumatlarını çap edirik.

PHP $_GET Super Global ilə URL-dən məlumat əldə etmək

Aşağıdakı nümunədə biz PHP $_GET superglobal ilə URL-dən məlumat əldə etdik.

<!DOCTYPE html>
<html>
<body>
<a href="<?php
echo $_SERVER[ 'PHP_SELF' ] ?>?name=Onur%20Özden&website=www.onurozden.com.tr">Buraya Tıkla</a>
<?php
echo "Ben " . $_GET[ 'name' ] . " şu sitede PHP öğreniyorum: " . $_GET[ 'website' ];
?>
</body>
</html>

Yuxarıdakı misalda fayl adınızı yazmaq əvəzinə biz $_SERVER superglobal istifadə edərək fayl adını əldə etdik. İndi bu nümunədə nə etdiyimizi izah edək. HTML sənədi yaratdıq və get.php faylına ad parametrini verdik. Ad parametrinə "Onur Özden" qiymətini verdik və parametrləri '&' işarəsi ilə ayırdıq. Daha sonra veb-sayt parametrini yaratdıq və ona “onurozden.com.tr” qiymətini verdik. Biz A etiketində "Click Here" mətnini çap etdik. PHP hissəsinə gəldikdə, "Mənim adım"ı əks-səda ilə çap etdik və ad adlı parametrin məlumatlarını əldə etmək və çap etmək üçün birləşmə operatoru ilə $_GET superglobal-dan istifadə etdik. Yenə də birləşmə operatorundan istifadə edərək " və veb saytım " çap etdik. Biz yenidən birləşdirici operatordan istifadə etdik və $GET superglobal ilə veb-sayt parametrinin məlumatlarını aldıq və çap etdik.

PHP Super Qlobalları: $_SERVER

$_SERVER superglobal başlıqlar, yollar və skript yerləri haqqında məlumat saxlayan PHP superqlobal dəyişənidir. Aşağıdakı nümunədə biz $_SERVER superglobal-dan necə istifadə edəcəyimizi göstəririk.

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

Yuxarıdakı misalda biz $number1 və $number2 adlı dəyişənləri təyin etdik və onlara nömrə tipinin qiymətlərini verdik. Sonra, biz int məlumat tipinin dəyərini qaytaran əlavə adlı funksiyanı təyin etdik. Dedik ki, $GLOBALS superglobal-da dəyişənlərin adları indeks olaraq saxlanılır. 3 nömrəli indeks yaradaraq dəyişəni yaratdıq. Biz bu dəyişənə $GLOBALS superglobal ilə qlobal sahədən əldə etdiyimiz $number2 dəyişəni və $number1 dəyişəninin cəmini təyin etdik. Daha sonra bu dəyəri return ilə qaytardıq və funksiyanı dayandırdıq. Son addım olaraq, echo ilə add() funksiyamızda dəyəri çıxarırıq.

PHP $_SERVER Super Qlobal Bütün İstifadələri

$_SERVER['PHP_SELF']İcra edilmiş skriptin fayl adını qaytarır.
$_SERVER['GATEWAY_INTERFACE']Server tərəfindən istifadə edilən CGI (Common Gateway Interface) versiyasını qaytarır.
$_SERVER['SERVER_ADDR']Host serverinin IP ünvanını qaytarır.
$_SERVER['SERVER_NAME']Əsas serverin adını qaytarır.
$_SERVER['SERVER_SOFTWARE']Server identifikasiya mətnini qaytarır (məsələn, Apache/2.2.24).
$_SERVER['SERVER_PROTOCOL']Məlumat protokolunun adını və versiyasını qaytarır (məsələn, HTTP/1.1).
$_SERVER['REQUEST_METHOD']Səhifəyə daxil olmaq üçün istifadə edilən sorğu metodunu qaytarır (POST, GET kimi).
$_SERVER['REQUEST_TIME']Sorğunun başlanğıcının vaxt damğasını qaytarır (məsələn, 1377687496).
$_SERVER['QUERY_STRING']Əgər səhifəyə sorğu sətri vasitəsilə daxil olarsa, o, sorğu sətirini qaytarır.
$_SERVER['HTTP_ACCEPT']Cari sorğudan qəbul başlığını qaytarır.
$_SERVER['HTTP_ACCEPT_CHARSET']Cari sorğudan Accept_Charset başlığını qaytarır (məsələn, utf-8,ISO-8859-1).
$_SERVER['HTTP_HOST']Cari sorğudan host başlığını qaytarır.
$_SERVER['HTTP_REFERER']Cari səhifənin tam URL-ni qaytarır (bütün istifadəçi agentləri bunu dəstəkləmədiyi üçün etibarlı deyil).
$_SERVER['HTTPS']Skriptin təhlükəsiz HTTP protokolu (HTTPS) vasitəsilə sorğulandığını yoxlayır.
$_SERVER['REMOTE_ADDR']İstifadəçinin cari səhifəyə baxdığı IP ünvanını qaytarır.
$_SERVER['REMOTE_HOST']İstifadəçinin cari səhifəyə baxdığı yerdən host adını qaytarır.
$_SERVER['REMOTE_PORT']Veb server ilə əlaqə saxlamaq üçün istifadəçinin maşınında istifadə edilən portu qaytarır.
$_SERVER['SCRIPT_FILENAME']Hazırda icra olunan skriptin mütləq yolunu qaytarır.
$_SERVER['SERVER_ADMIN']Veb server konfiqurasiya faylında SERVER_ADMIN direktivinə verilən dəyəri qaytarır (əgər skriptiniz virtual hostda işləyirsə, o, həmin virtual host üçün müəyyən edilmiş dəyər olacaq) (məsələn, some@onurozden.com.tr).
$_SERVER['SERVER_PORT']Veb server tərəfindən ünsiyyət üçün istifadə olunan server maşınındakı portu qaytarır (məsələn, 80).
$_SERVER['SERVER_SIGNATURE']Server tərəfindən yaradılan səhifəyə əlavə edilmiş server versiyasını və virtual host adını qaytarır.
$_SERVER['PATH_TRANSLATED']Cari skriptə fayl sisteminə əsaslanan yolu qaytarır.
$_SERVER['SCRIPT_FILENAME']Cari skriptə gedən yolu qaytarır.
$_SERVER['SCRIPT_URI']Cari səhifənin URI-ni qaytarır.