PHP superglobālie mainīgie un Register_Globals
PHP ir īpaša veida mainīgais, ko sauc par superglobālu. Iemesls, kādēļ šie mainīgie ir īpaši, ir tāpēc, ka tie ir automātiski pieejami jebkurai PHP programmai, bet programmētājs tos neveido vai nedefinē savā programmā. Jūs tos varat uzskatīt par "iebūvētiem" mainīgajiem.

Piekļuves veids šiem mainīgajiem atšķiras atkarībā no tā, vai register_globals jūsu serverī ir ieslēgts vai izslēgts. Pirms PHP versijas 4.2, register_globals pēc noklusējuma bija ieslēgts. Tomēr jādara drošības apsvērumu dēļ; šis iestatījums tagad ir izslēgts pēc noklusējuma (versija 4.2+). Protams, cilvēkiem, kuri palaiž jūsu serveri, ir jāizlemj, vai ignorēt noklusējuma iestatījumus un ieslēgt register_globals. Vienkāršākais veids, kā pārbaudīt savu serveri, ir phpinfo () izmantošana. Jums, iespējams, būs saite uz šo vietni savas vietnes administratīvajā apgabalā. Šajā tīmekļa vietnē atradīsit sadaļu Configuration PHP Core, kurā ir šī informācija.

Kā minēts iepriekš, superglobaliem jūs piekļūsit atšķirīgi, atkarībā no servera iestatījumiem. Jaunā servera iestatīšanai superglobaliem tika piešķirti jauni nosaukumi. Ja jūsu serverim joprojām ir vecais iestatījums, labāk būtu sākt lietot jaunos nosaukumus. Ja izmantojat šos jaunos nosaukumus, varat būt pārliecināti, ka jūsu programmas darbosies abās servera konfigurācijās. Tomēr tas neattiecas uz vecajiem nosaukumiem. Viņi darbosies tikai vecā servera konfigurācijā. Zemāk redzamajā tabulā parādīti vecie un jaunie nosaukumi, kā arī superglobulu apraksts. Ievērojiet, ka šo superglobolu nosaukumi ir rakstīti ar lielajiem burtiem.

JaunsVecsApraksts
$ _GET USD HTTP_GET_VARS Šis superglobāls satur mainīgos lielumus, kas nosūtīti programmai ar get metodi, piemēram, ģērbšanās virkne.
$ _POST USD HTTP_POST_VARS Šis superglobāls satur mainīgos, kas nosūtīti programmai ar pasta metodi.
$ _COOKIE USD HTTP_COOKIE_VARS Šajā superglobalā ir mainīgie, kas programmai ir pieejami no sīkfaila.
$ _SESSION USD HTTP_SESSION_VARS Šis superglobāls satur mainīgos, kurus programma reģistrē sesijas laikā.
$ _FILES HTTP_POST_FILES USD Šis superglobāls satur mainīgos lielumus, kas pieejami no failu augšupielādes.
$ _ENV $ _HTTP_ENV_VARS Šis superglobāls satur mainīgos lielumus, kas pieejami no servera vides.
$ _REQUEST -- Šis superglobāls satur mainīgos lielumus, ko programmai nosūta jebkura veida lietotāja ievade. Tas ir visizplatītākais vai universālākais supergloba veids.
$ _SERVER -- Šajā superglobalā ir informācija par serveri, piemēram, failu ceļi.