W języku PHP zmienna $_REQUEST jest zmienną
$_REQUEST, tworzy sam PHP.$_SESSION, a nie $_REQUEST.$_REQUEST odbiera dane przysłane do skryptu, nie wysyła żądań do innych serwerów.$_REQUEST jest wbudowana w PHP i łączy m.in. dane z $_GET i $_POST.$_REQUEST to tablica superglobalna, którą PHP wypełnia sam. Łączy w sobie dane przekazane do skryptu różnymi drogami - parametry z adresu (jak w $_GET) i pola formularza wysłane metodą POST (jak w $_POST), a zależnie od ustawień w pliku php.ini także ciasteczka. Dzięki temu skrypt odczyta $_REQUEST["login"] bez względu na metodę formularza. Wygoda ma jednak cenę: nie wiadomo, skąd wartość przyszła, a przy tej samej nazwie w adresie i w formularzu jedna nadpisze drugą. Dlatego w praktyce lepiej sięgać wprost do $_GET albo $_POST. Do zapamiętania: tablice z podkreśleniem i wielkimi literami są predefiniowane.
Problem z tym pytaniem najczęściej wynika z nazwy kojarzącej się z wysyłaniem żądań. $_REQUEST nie wysyła niczego do innych serwerów - do tego służą np. funkcje file_get_contents() albo biblioteka cURL. Odbiera ona dane, które już przyszły do skryptu. Nie jest też zmienną zdefiniowaną przez autora strony: wszystkie tablice zapisane wielkimi literami z podkreśleniem na początku tworzy sam interpreter PHP przy każdym żądaniu. Dane sesji przechowuje osobna tablica $_SESSION, dostępna po wywołaniu session_start(), i nie trafiają one do $_REQUEST. Ta ostatnia zbiera dane przesłane przez klienta, przede wszystkim z adresu i z formularza, więc jest predefiniowaną zmienną łączącą zawartość $_GET i $_POST. Nazwa tej tablicy pochodzi od żądania (ang. request), które przeglądarka wysyła do serwera, a nie od żądań wysyłanych przez skrypt.