Easywd.lv Kā izveidot mājas lapu

PHP globālie mainīgie (superglobals)

Lietotāju novērtējums:  / 2
SliktākaisLabākais 


Superglobālie mainīgie tika ieviesti PHP 4.1.0, un ir iebūvētie mainīgie, kuri ir vienmēr pieejami visos PHP failos, ka arī jūsu veidotās funkcijās utt.


PHP globalie mainīgie - superglobals

Vairāki predefinētie mainīgie PHP tiek saukti par "superglobālajiem mainīgajiem", kas nozīmē, ka tie ir vienmēr pieejami, neatkarīgi no darbības jomas - un tiem jūs varat piekļūt no jebkuras funkcijas, klases vai faila bez vajadzības darīt kaut ko īpašu (nav vajadzīgs include kods) .

PHP superglobālie mainīgie ir:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

Šajā nodaļā tiks izskaidroti daži no superglobālajiem mainīgajiem, un pārējie tiks paskaidroti vēlāk.


PHP $GLOBAL

$GLOBAL ir PHP super globālais mainīgais, kas tiek izmantots, lai piekļūtu globāliem mainīgiem no jebkura PHP skripta (arī no funkcijām vai metodēm).

PHP ievieto visus globālos mainīgos masīvā ar  nosaukumu $GLOBALS[indekss]. Indekss ir mainīgā nosaukums.

Turpmākais piemērs parāda, kā izmantot super globālo mainīgo $GLOBAL:

Piemērs

<?php 
$x = 75; 
$y = 25;
 
function addition() 
{ 
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
}
 
addition(); 
echo $z; 
?>

Palaist piemēru »

Iepriekš minētajā piemērā, tā kā mainīgais z tika ievietots $GLOBALS masīvā, tas ir arī pieejams ārpus funkcijas!


PHP $_SERVER

$_SERVER ir PHP super globālais mainīgais, kas satur informāciju par header , celiem (path), un skriptu atrašanās vietām.

Turpmākais piemērs parāda, kā izmantot dažus no elementiem iekš $_SERVER:

Piemērs

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

Palaist piemēru »

Tabulā ir uzskaitīti svarīgākie elementi, kurus satur  $_SERVER mainīgais:

Element/CodeDescription
$_SERVER['PHP_SELF']

Returns the filename of the currently executing script,

atgriež faila nosaukumu, kas izpilda komandas

$_SERVER['GATEWAY_INTERFACE'] Returns the version of the Common Gateway Interface (CGI) the server is using
$_SERVER['SERVER_ADDR'] Returns the IP address of the host server, atgriež servera IP adresi
$_SERVER['SERVER_NAME'] Returns the name of the host server (such as www.w3schools.com),atgriež servera nosaukumu
$_SERVER['SERVER_SOFTWARE'] Returns the server identification string (such as Apache/2.2.24),atgriež izmantoto programnodrošinājumu)
$_SERVER['SERVER_PROTOCOL'] Returns the name and revision of the information protocol (such as HTTP/1.1), atgriež protokola nosaukumu
$_SERVER['REQUEST_METHOD'] Returns the request method used to access the page (such as POST),atgriež metodes nosaukumu, kura tika izmantota lai piekļūt datiem
$_SERVER['REQUEST_TIME'] Returns the timestamp of the start of the request (such as 1377687496)
$_SERVER['QUERY_STRING'] Returns the query string if the page is accessed via a query string, atgriež vaicājumu, ja tas tika izmantots lai piekļūt lapai
$_SERVER['HTTP_ACCEPT'] Returns the Accept header from the current request
$_SERVER['HTTP_ACCEPT_CHARSET'] Returns the Accept_Charset header from the current request (such as utf-8,ISO-8859-1)
$_SERVER['HTTP_HOST'] Returns the Host header from the current request
$_SERVER['HTTP_REFERER'] Returns the complete URL of the current page (not reliable because not all user-agents support it), atgriež pilnu web lapas nosaukumu
$_SERVER['HTTPS'] Is the script queried through a secure HTTP protocol
$_SERVER['REMOTE_ADDR'] Returns the IP address from where the user is viewing the current page, atgriež lietotāja IP adresi
$_SERVER['REMOTE_HOST'] Returns the Host name from where the user is viewing the current page, atgriež hosta nosaukumu no kura lietotājs skatās web lapu
$_SERVER['REMOTE_PORT'] Returns the port being used on the user's machine to communicate with the web server, kāds ports tiek izmantots
$_SERVER['SCRIPT_FILENAME'] Returns the absolute pathname of the currently executing script, atgriež pilnu ceļu līdz skripta failam kas tiek izpildīts
$_SERVER['SERVER_ADMIN'] Returns the value given to the SERVER_ADMIN directive in the web server configuration file (if your script runs on a virtual host, it will be the value defined for that virtual host) (such as This email address is being protected from spambots. You need JavaScript enabled to view it.)
$_SERVER['SERVER_PORT'] Returns the port on the server machine being used by the web server for communication (such as 80)
$_SERVER['SERVER_SIGNATURE'] Returns the server version and virtual host name which are added to server-generated pages
$_SERVER['PATH_TRANSLATED']

Returns the file system based path to the current script,

atgriež faila sistēmas nosaukumu

$_SERVER['SCRIPT_NAME'] Returns the path of the current script, norāda ceļu līdz šobrīd izpildamām skriptam
$_SERVER['SCRIPT_URI'] Returns the URI of the current page, atgriež lapas URI

 


PHP $_REQUEST

PHP $_REQUEST tiek izmantots, lai apkopotu datus pēc iesniegšanas HTML formā.

Turpmākais piemērs rada formu ar ievades lauku un SubmitQuery pogu. Kad lietotājs iesniedz datus, noklikšķinot uz "SubmitQuery", veidlapas dati tiek nosūtīti uz failu, kas norādīts rīcības atribūtā "action" <form> tagā. Šajā piemērā, mēs norādām uz to pašu failu kas veiks veidlapas datu apstrādi. Ja vēlaties izmantot citu PHP failu, lai apstrādātu veidlapu datus, aizstājiet, "action" atribūta vērtību ar Jūsu faila nosaukumu, pēc jūsu izvēles. Pēc tam, mēs varam izmantot super globālo mainīgo $_REQUEST lai savākt vērtības, kas tika ievadītas ievades laukā:

Piemērs

<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php 
$name = $_REQUEST['fname']; 
echo $name; 
?>

</body>
</html>

Palaist piemēru »

 


PHP $_POST

PHP $_POST tiek plaši izmantots, lai savāktu veidlapas datus pēc iesniegšanas HTML formā ar metodi="post". $_POST arī plaši izmanto, lai nodot mainīgos.

Turpmākais piemērs rada formu ar ievades lauku un iesniegšanas pogu. Kad lietotājs iesniedz datus, noklikšķinot uz "Submit", veidlapas dati tiek nosūtīti uz failu, kas tika norādīts rīcības "action" atribūtā <form> tagā. Šajā piemērā, mēs norādām uz to pašo failu lai veikt veidlapas datu apstrādi. Ja vēlaties izmantot citu PHP failu, lai apstrādātu veidlapu datus, aizstājiet to ar jūsu faila nosaukumu, pēc jūsu izvēles. Pēc tam, mēs varam izmantot super globālo mainīgo $_POST lai savākt vērtības ievades laukā, ja Jūs esat uzmanīgi, tad pamanījāt, ka $_POST un $_REQUEST ir ļoti līdzīgi mainīgie, tā arī ir, bet parasti programmējot ar PHP tiek izmantots globālais mainīgais $_POST:

Piemērs

<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
// <form method="post" action="jusu_fails.php">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php 
$name = $_POST['fname']; 
echo $name; 
?>

</body>
</html>

Palaist piemēru »

 


PHP $_GET

PHP $_GET var arī izmantot, lai savāktu veidlapas datus pēc iesniegšanas HTML formā ar metodi     ="get".

$_GET Var arī savākt datus, kas nosūtīti caur URL.

Pieņemsim, mums ir HTML lapa, kas satur hipersaiti ar parametriem:

<html>
<body>

<a href="/test_get.php?subject=PHP&web=W3schools.com">Test $GET</a>

</body>
</html>

Kad lietotājs noklikšķina uz saites "Test $GET" parametri "subject" un "web" ir nosūtīti uz "test_get.php", un tad jūs varat piekļūt to vērtībām "test_get.php" failā un ar $_GET.

Turpmākais piemērs parāda kodu failam "test_get.php":

Piemērs

<html>
<body>

<?php 
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>

</body>
</html>

Palaist piemēru »

Padoms: Jūs uzzināsiet vairāk par $_POST un $_GET vēlāk, rakstos par PHP un formām.