PHP Свръхглобални променливи


$_GLOBALS #

$_GLOBALS се използва за да достъпвате променливи във функции, методи и класове без директно да ги подавате към функцията.

<?php
$var = 'Тестова Променлива';

function callvar() {
    $GLOBALS['newvar'] = $GLOBALS['var'];
}

callvar(); 

echo $newvar; 
?>


$_SERVER #

$_SERVER съдържа съдържание като хедър, траектория и скрипт локация

КлючОписание
$_SERVER[‘PHP_SELF’]Връща името на страницата / скрипта в която се намирате в момента
$_SERVER[‘GATEWAY_INTERFACE’]Показва версията на CGI на сървъра който използвате
$_SERVER[‘SERVER_ADDR’]Изкарва IP-то на хост сървъра
$_SERVER[‘SERVER_NAME’]Връща името на хост сървъра
$_SERVER[‘SERVER_PROTOCOL’]Връща информационния протокол
$_SERVER[‘REQUEST_METHOD’]Връща метода с който се достъпва страницата.
$_SERVER[‘HTTP_HOST’]Връща заглавката на хоста от текущата заявка
$_SERVER[‘HTTP_REFERER’]Връща пълния URL на страницата, от която е посетена тая страница.
$_SERVER[‘HTTPS’]Скриптът се запитва чрез защитен HTTP протокол
$_SERVER[‘REMOTE_ADDR’]Изкарва IP-то на човека, който посещава страницата / скрипта
$_SERVER[‘REMOTE_HOST’]Връща името на хоста, откъдето потребителят преглежда текущата страница
$_SERVER[‘REMOTE_PORT’]Връща порта, който изпълнява сегашната услуга
$_SERVER[‘SCRIPT_FILENAME’]Връща абсолютната локация на текущо изпълняващия скрипт
$_SERVER[‘SERVER_ADMIN’]Връща стойността на SERVER_ADMIN в config файла.
$_SERVER[‘SERVER_PORT’]Връща порта, който сървър машината използва за комуникация.
$_SERVER[‘SERVER_SIGNATURE’]Връща версията и името на виртуалния хост.
$_SERVER[‘PATH_TRANSLATED’]Връща пътя, базиран на файловата система, към текущия скрипт
$_SERVER[‘SCRIPT_NAME’]Връща пътя на текущия скрипт
$_SERVER[‘SCRIPT_URI’]Връща URI на текущата страница


$_GET #

$_GET съдържа масив чието съдържание е прието от URL-а на страницата. Променливите се гледат тук
?var1=test&var2=test2. В случая за да извикате тези променливи от URL-а трябва да направите следното.

echo $_GET['var1'];
echo $_GET['var2'];


Пример

// URL: https://itsvalentin.com/test.php?id=1
echo $_GET['id'];

// URL: https://itsvalentin.com/test.php?user=test
echo $_GET['test'];

// URL: https://itsvalentin.com/test.php?cd=304
echo $_GET['cd']; 

// Повече променливи
// URL: https://itsvalentin.com/test.php?id=1&user=test
echo $_GET['id'];
echo $_GET['user'];


$_POST #

$_POST е подобно на $_GET само, че тук променливите не са на показ. Тоест, ако информацията, която предавате е чувствителна е много по-добре да се използва $_POST.


Пример:
Тук имената на променливите можете да намерите при полетата на html-а.
<input type=”text” name=”name”> – $_POST[‘name’]
<input type=”text” name=”var”> – $_POST[‘var’]

<form method="POST">
     <input type="text" name="name">
     <input type="submit" name="send" value="send">
</form>
if(isset($_POST['send'])){
     echo $_POST['name'];
}


$_FILES #

$_FILES предава файловете, които потребител качва.

<!DOCTYPE html>
<html>
<body>

<form action="път/до/сегашния/скрипт" method="post" enctype="multipart/form-data">
  Select image to upload:
  <input type="file" name="the_file" id="fileToUpload">
  <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>
if(isset($_POST["submit"])) {
     print_r($_FILES["the_file"]);
}


$_COOKIE #

$_COOKIE съдържа информация на бисквитките, които задавате с вашия скрипт.

Пример: Как се задава бисквитка

// setcookie(името на бисквитката, съдържанието на бисквитката, кога да изтече бисквитката (формат: TIMESTAMP), "/"); 
setcookie('var', 'content', time() + 86400);

// Извикване
echo $_COOKIE['var'];


$_SESSION #

$_SESSION пази съдържание за сесиите, които вашият скрипт пази в браузъра.

session_start();

$_SESSION['name'] = 'Valentin';

В друга страница принтирате съдържанието на сесията.

echo $_SESSION['name'];


$_REQUEST #

$_REQUEST пази съдържанието на $_POST, $_GET и $_COOKIE

<form method="POST">
     <input type="text" name="name">
     <input type="submit" name="send" value="send">
</form>
if ($_SERVER["REQUEST_METHOD"] == "POST") {
     $name = $_REQUEST['name'];
     echo $name;
}

Powered by BetterDocs