[Tutorial PHP] Variabile predefinite

#1
Nume Tutorial: Variabile predefinite
Descriere: Variabile predefinite
Download:
Autor: Anonim
Sursa (Link-ul oficial):
tutorialeonline
Propria parere: Folositor.
Tutorialul:

Începând de la versiunea 4.1.0 metodele predefinite pentru preluarea variabilelor externe depind de setarea din php.ini a variabilelor globale (register_globals). Astfel dacă pe server este setată register_globals=ON (nerecomandat) se pot prelua de exemplu variabilele trimise prin GET şi POST apelând direct variabila.
Exemplu:

Cod: Selectaţi tot

<?php
 // sa spunem ca avem un formular in care exita un camp numit "camp1" si care se trimite prin metoda POST:
 // cu register_globals=ON
 $camp1 = "valoarea campului";
 // cu register_globals=OFF
 $_POST['camp1'] = "valoarea campului";
 $camp1 = $_POST['camp1'];
 ?> 
Variabile globale:
$GLOBALS - pot fi accesate toate variabilele globale care sunt accesibile script-ului PHP curent; acest vector este indexat chiar prin numele variabilelor globale. Această variabilă superglobală este accesibilă începând cu versiunea 3.0.0
$_SERVER - conţine o serie de variabile ale căror valori sunt setate de server-ul web; majoritatea valorilor variabilelor din acest vector depind de mediul de execuţie al script-ului curent. A fost introdusă începând de la versiunea 4.1.0. În versiunile anterioare se folosea $HTTP_SERVER_VAR .
Este o variabilă care conţine informaţii cum ar fi headere, locaţia scriptului, sau informaţii despre vizitator şi browser. Este posibil ca în funcţie de setările fiecărui server şi browser să nu fie active toate informaţiile specificate de această variabilă. Această variabilă este de asemenea globală, adică se poate folosi oriunde în script, fără apelarea ei ca funcţie globală (adică nu trebuie să o cereţi cu global $_SERVER în funcţiile dvs.) În schimb $HTTP_SERVER_VARS conţine aceleaşi informaţii dar nu este o funcţie globală (atenţie $HTTP_SERVER_VARSşi $_SERVER sunt două variabile diferite, chiar dacă aparent fac aceleaşi lucruri). Dacă directiva register_globals este ON atunci aceste variabile vor deveni la rândul lor variabile globale în cadrul scriptului.
Elementele acestor variabile sunt cele de mai jos (atenţie: în funcţie de setările serverului şi browserului unele elemente pot lipsi)
' PHP_SELF ' - conţine numele fişierului unde se execută scriptul curent, relativ la rădacină (document root) De exemplu, $_SERVER['PHP_SELF'] într-un script la adresa http://example.com/test.php/foo.bar va fi /test.php/foo.bar . Constanta __FILE__ conţine toată calea şi numele fişierului curent.
' argv ' - Un array al argumentului trimis către script. Când scriptul rulează în linie de comandă, va da acces C-style la parametrii liniei de comandă. Când este accesat prin metoda GET, acesta va conţine un şir de interogare.
' argc ' - Conţine un număr al parametrilor liniei de comandă trimise către script (dacă este rulat în linie de comandă).
' GATEWAY_INTERFACE ' - Returnează versiunea CGI utilizată pe server (exemplu ' CGI/1.1 ').
' SERVER_NAME ' - Numele server-ului de hosting unde se execută scriptul curent. Dacă scriptul rulează pe un host virtual, aceasta va conţine valoarea definită pentru acel host virtual.
' SERVER_SOFTWARE ' - Returnează un şir de identificare al server-ului dat în header ca raspuns la cerere.
' SERVER_PROTOCOL ' - Numele şi versiunea protocolului prin care este cerută pagina (exemplu ' HTTP/1.0 ')
' REQUEST_METHOD ' - Returnează metoda utilizată pentru accesarea paginii (exemplu ' GET ', ' HEAD ', ' POST ', ' PUT ')
' REQUEST_TIME ' - Valoarea timestamp dată la pornirea cererii. Este valabilă începând de la versiunea PHP 5.1.0.
' QUERY_STRING ' - Şirul de interogare, dacă este, de la pagina care a fost accesată.
' DOCUMENT_ROOT ' - Directorul radăcină unde este rulat scriptul curent, aşa cum este definit în fişierul de configuraţie al serverului.
' HTTP_ACCEPT ' - Conţinutul header-ului acceptat de la cererea curentă, dacă este unul.
' HTTP_ACCEPT_CHARSET ' - Conţine setul de caractere acceptate şi care este trimis de header-ul cererii respective, dacă există. Exemplu: ' iso-8859-1,*,utf-8 '.
' HTTP_ACCEPT_ENCODING ' - Conţine tipul de encodare trimis de cererea curentă prin header, dacă există.. Exemplu: ' gzip '.
' HTTP_ACCEPT_LANGUAGE ' - Conţine limbajul trimis de cererea curentă prin header, dacă există. Exemplu: ' en '.
' HTTP_CONNECTION ' - Conţine informaţii despre conexiunea trimisă de cererea curentă prin header, dacă există. Exemplu: ' Keep-Alive '.
' HTTP_HOST ' - Conţine informaţii despre host, header-ul de la cererea curentă, dacă există.
' HTTP_REFERER ' - Adresa paginii (dacă este) de unde a venit userul în pagina curentă. Aceasta este setată de către browser. Nu toate browserele setează această valoare, şi chiar unele au posibilitatea de a modifica HTTP_REFERER aşa cum vor. Pe scurt, nu este de încredere.
' HTTP_USER_AGENT ' - Conţine semnătura browser-ului trimisă prin header la cererea curentă, dacă există. Un exemplu tipic este: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586) . În afară de asta, puteţi utiliza get_browser() pentru a vedea ce capabilităţi are browserul folosit de user şi astfel să returnaţi pagina specifică pentru acel browser.
' HTTPS ' - Setează o valoare dacă scriptul a fost cerut printr-un protocol securizat HTTPS
' REMOTE_ADDR ' - Adresa de IP a userului care accesează pagina curentă.
' REMOTE_HOST ' - Numele hostului userului care vede pagina curentă. Este inversul DNS-ului userului bazat pe REMOTE_ADDR. Atenţie: Serverul web trebuie configurat pentru a crea această variabilă. De exemplu în Apache va trebui HostnameLookups On în fişierul de configurare httpd.conf. Pentru alte detalii vedeţi şi funcţia gethostbyaddr() .
' REMOTE_PORT ' - Portul prin care userul comunică cu serverul web.
' SCRIPT_FILENAME ' - Calea absolută unde se execută scriptul curent. Atenţie: Dacă scriptul este rulat cu CLI, ca şi cale relativă, cum ar fi file.php sau ../file.php , $_SERVER['SCRIPT_FILENAME'] va conţine calea relativă specificată de către user.
' SERVER_ADMIN ' - Valoarea dată de directiva SERVER_ADMIN (pentru Apache) în fişierul de configurare al web serverului. Dacă scriptul rulează pe un host virtual, acesta va conţine valoarea definită pentru acel host virtual.
' SERVER_PORT ' - Portul de pe server care este folosit pentru comunicare pe web. Pentru setările standard, acesta este ' 80 '; pentru SSL, de exemplu, se va schimba cu oricare port definit în transmisia securizată HTTP.
' SERVER_SIGNATURE ' - Conţine un şir care cuprinde versiunea serverului şi numele hostului virtual dacă este.
' PATH_TRANSLATED ' - Calea de bază a sistemul de fişiere (nu rădăcina documentului) de la scriptul curent, după ce serverul a terminat maparea oricăror căi ( virtual-to-real mapping) Atenţie: Începând de la PHP 4.3.2, PATH_TRANSLATED nu mai este setat implicit în Apache 2 SAPI în contrast cu situaţia din Apache 1, unde este setată aceeaşi valoare ca şi la SCRIPT_FILENAME. Această schimbare a fost făcută pentru a fi compatibilă cu specificaţiile CGI în care PATH_TRANSLATED trebuie să existe doar dacă PATH_INFO este definit. Utilizatorii Apache 2 pot utiliza AcceptPathInfo = On în fişierul de configuraţie httpd.conf pentru a defini PATH_INFO .
' SCRIPT_NAME ' - Conţine calea către scriptul curent. Acesta este util pentru pagini care trebuiesc definite către ele însuşi. Constanta __FILE__ conţine calea completă şi numele de fişier al scriptului curent.
' REQUEST_URI ' - URI care este dat pentru accesarea paginii curente, de exemplu ' /index.html '.
' PHP_AUTH_DIGEST ' - Când rulaţi sub Apache ca modul, acţiunea Digest HTTP, valoarea acestei variabile este setată în 'Authorization' header trimis către client (care ar trebui utilizat pentru a face o validare corespunzătoare).
' PHP_AUTH_USER ' - Când este rulat sub Apache sau IIS (ISAPI pe PHP 5) ca modul, acţiunea HTTP authentication, această variabilă conţine numele userului trimis de către user.
' PHP_AUTH_PW ' - Când este rulat sub Apache sau IIS (ISAPI pe PHP 5) ca modul, acţiunea HTTP authentication, această variabilă conţine parola userului trimisă de către user.
' AUTH_TYPE ' - Când este rulat sub Apache ca modul acţiunea HTTP authenticated , această variabilă setează tipul de autentificare.

Variabilele pentru trimiterea datelor:
$_GET este o variabilă array globală. A fost introdusă în versiunea 4.1.0. Pentru versiunile anterioare se foloseşte $HTTP_GET_VARS care nu este variabilă globală. Puteţi folosi $_GET pentru a trimite variabile cu valori prin intermediul linkurilor.
$_POST este de asemenea o variabilă array globală. A fost introdusă în versiunea 4.1.0. Pentru versiunile anterioare se foloseşte $HTTP_POST_VARS care nu este variabilă globală. Puteţi folosi $_POST pentru a trimite variabile cu valori prin intermediul formularelor.
$_GETşi $_POST conţin variabile primite de script prin intermediul unor transferuri care folosesc metodele HTTP get, respectiv post. De exemplu, prin intermediul acestor vectori pot fi accesate valorile câmpurilor dintr-un formular care a fost completat şi transmis folosind una dintre cele două metode.

Variabilele HTTP coockies:
$_COOKIE conţine valorile variabilelor care conţin informaţii referitoare la cookie-urile păstrate pe calculatorul utilizatorului care accesează pagina web. A fost introdus în versiunea 4.1.0. În versiunile anterioare, utilizaţi $HTTP_COOKIE_VARS .

Variabile pentru uploadul fişierelor:
$_FILES conţine variabile primite de script prin intermediul încărcărilor de fişiere prin metoda post. A fost introdus în versiunea 4.1.0. În versiunile anterioare se foloseşte $HTTP_POST_FILES care nu este variabilă globală.

Variabilele de mediu $_ENV
$_ENV conţine variabile disponibile prin intermediul mediului în care este executat. A fost introdus în versiunea 4.1.0. În versiunile anterioare, utilizaţi $HTTP_ENV_VARS .

Variabilele pentru cereri:
$_REQUEST conţine variabile disponibile prin intermediul oricărui tip de mecanism cu ajutorul căruia utilizatorul poate introduce date. Este de tip array şi conţine valorile variabilelor $_GET , $_POST , şi $_COOKIE. A fost introdusă în versiunea 4.1.0. Începând de la versiunea 4.3.0, informaţiile din $_FILES au fost de asemenea incluse în $_REQUEST

Variabile de sesiune:
$_SESSION conţine variabile care corespund sesiunii curente a script-ului, sub formă de array. A fost introdusă în versiunea 4.1.0 şi este de asemenea globală. În versiunile anterioare folosiţi $HTTP_SESSION_VARS.

Variabile de mesaje de eroare:
$php_errormsg - este o variabilă ce conţine ultimul mesaj generat de către PHP Această variabilă este folosită în scopul de a vedea ce eroare apare şi doar dacă opţiunile de configurare a erorilor track_errors este pornită (standard este pe OFF)

Constante predefinite:
PHP conţine un mare număr de constante predefinite pentru fiecare script care rulează. Totuşi, sunt 5 constante "magice" pe care le prezint în continuare:
__LINE__ - Conţine numărul curent al liniei din fişier.
__FILE__ - toată calea şi numele fişierului curent. Dacă este folosit în interiorul unui fişier inclus, va returna numele fişierului inclus. Începând de la versiunea 4.0.2 conţine întotdeauna calea absolută la fişier, pe când în versiunile anterioare conţine calea relativă, în afară de câteva cazuri.
__FUNCTION__ - Numele funcţiei (adăugat în versiunea 4.3.0) În PHP 5 această constantă returnează numele funcţiei care a fost declarată (case-sensitive). În PHP 4 această valoare este întotdeauna lowercased (cu litere mici)
__CLASS__ - Numele clasei (adaugată în versiunea 4.3.0) În PHP 5 această constantă returnează numele clasei care a fost declarată (case-sensitive). În PHP 4 această valoare este întotdeauna lowercased (cu litere mici)
__METHOD__ - Numele metodei clasei (adaugată în versiunea 5.0.0.) Numele metodei este returnat aşa cum este declarat (case-sensitive)

Înapoi la “Tutoriale PHP”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 0 vizitatori