Variables super globales PHP
Les super variables globales ont été activées après PHP 4.1.0. Ce sont des variables fournies avec le système PHP et sont disponibles dans toute la portée d'un script.
Variables super globales PHP
Plusieurs superglobales sont prédéfinies en PHP, ce qui signifie qu'elles sont disponibles dans toutes les portées d'un script. Vous pouvez l'utiliser dans des fonctions et des classes sans instructions particulières.
Quelles sont les super variables globales en php ?
Liste des super variables globales PHP :
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
Dans ce chapitre, nous expliquerons un Quelques variables super globales couramment utilisées, nous présenterons les variables restantes dans les prochains chapitres.
PHP $GLOBALS
$GLOBALS est un groupe de variables super globales de PHP, dans toute la portée d'un script PHP. Tous peut être consulté.
$GLOBALS est un tableau combiné global contenant toutes les variables. Le nom de la variable est la clé du tableau.
L'exemple suivant présente comment utiliser la variable super globale $GLOBALS :
Exemple
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
Dans l'exemple ci-dessus, z est une variable super globale dans le tableau $GLOBALS , ce qui est le même. Accessible en dehors de la fonction.
PHP $_SERVER
$_SERVER est un fichier qui contient des informations telles que l'en-tête, le chemin et le script Un tableau d'informations tels que les emplacements de script. Les éléments de ce tableau sont créés par le serveur Web. Il n'y a aucune garantie que chaque serveur proposera tous les éléments ; les serveurs peuvent en ignorer certains ou servir des éléments non répertoriés ici.
L'exemple suivant montre comment utiliser les éléments de $_SERVER :
Exemple
<?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']; ?>
Le tableau suivant répertorie tous les éléments importants de la variable $_SERVER :
Élément/Code | Description |
$_SERVER['PHP_SELF'] | Script en cours d'exécution Le nom du fichier est lié à la racine du document. Par exemple, utiliser $_SERVER['PHP_SELF'] dans un script sur http://example.com/test.php/foo.bar entraînera /test.php/foo.bar. La constante __FILE__ contient le chemin complet et le nom de fichier du fichier actuel (c'est-à-dire contenant). À partir de PHP version 4.3.0, cette variable contiendra le nom du script si PHP s'exécute en mode ligne de commande. Cette variable n'est pas disponible dans les versions précédentes. |
$_SERVER['GATEWAY_INTERFACE'] | La version de la spécification CGI utilisée par le serveur ; par exemple, "CGI/1.1". |
$_SERVER['SERVER_ADDR'] | L'adresse IP du serveur sur lequel le script est actuellement en cours d'exécution. |
$_SERVER['SERVER_NAME'] | Le nom d'hôte du serveur sur lequel le script est actuellement en cours d'exécution. Si le script s'exécute sur un hôte virtuel, le nom est déterminé par la valeur définie pour cet hôte virtuel. (Par exemple : www.php.cn) |
$_SERVER['SERVER_SOFTWARE'] | La chaîne d'identification du serveur est indiquée dans les informations d'en-tête lors de la réponse à la requête . (Par exemple : Apache/2.2.24) |
$_SERVER['SERVER_PROTOCOL'] | Le nom et la version du protocole de communication lors de la demande de la page. Par exemple, « HTTP/1.0 ». |
$_SERVER['REQUEST_METHOD'] | La méthode de requête utilisée pour accéder à la page, par exemple, "GET", "HEAD", "POST", " METTRE". |
$_SERVER['REQUEST_TIME'] | L'horodatage du début de la requête. Disponible depuis PHP 5.1.0.(Par exemple : 1377687496) |
$_SERVER['QUERY_STRING'] | chaîne de requête (chaîne de requête), le cas échéant, via laquelle l'accès à la page est effectué. |
$_SERVER['HTTP_ACCEPT'] | Le contenu de l'élément Accept: dans l'en-tête de la requête actuelle, s'il existe. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Le contenu de l'élément Accept-Charset: dans l'en-tête de la requête actuelle, s'il existe. Par exemple : "iso-8859-1,*,utf-8". |
$_SERVER['HTTP_HOST'] | Le contenu de l'élément Host: dans l'en-tête de la requête actuelle, s'il existe. |
$_SERVER['HTTP_REFERER'] | Dirige l'agent utilisateur vers l'adresse de la page précédant la page actuelle, si elle existe. Déterminé par les paramètres de l'agent utilisateur. Tous les agents utilisateurs ne définiront pas cet élément, et certains fournissent également la fonction de modification de HTTP_REFERER. Bref, la valeur n'est pas digne de confiance. ) |
$_SERVER['HTTPS'] | Défini sur une valeur non vide si l'accès au script est effectué via le protocole HTTPS. |
$_SERVER['REMOTE_ADDR'] | L'adresse IP de l'utilisateur parcourant la page actuelle. |
$_SERVER['REMOTE_HOST'] | Le nom d'hôte de l'utilisateur parcourant la page actuelle. La résolution inversée DNS ne dépend pas du REMOTE_ADDR de l'utilisateur. |
$_SERVER['REMOTE_PORT'] | Le numéro de port utilisé sur la machine de l'utilisateur pour se connecter au serveur Web. |
$_SERVER['SCRIPT_FILENAME'] | Le chemin absolu du script en cours d'exécution. |
$_SERVER['SERVER_ADMIN'] | Cette valeur spécifie le paramètre SERVER_ADMIN dans le fichier de configuration du serveur Apache. Si le script s'exécute sur un hôte virtuel, cette valeur est celle de cet hôte virtuel. (par exemple : quelqu'un@php.cn) |
$_SERVER['SERVER_PORT'] | Web 服务器使用的端口。默认值为 "80"。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。 |
$_SERVER['SERVER_SIGNATURE'] | 包含了服务器版本和虚拟主机名的字符串。 |
$_SERVER['PATH_TRANSLATED'] | 当前脚本所在文件系统(非文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。 |
$_SERVER['SCRIPT_NAME'] | 包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。 |
$_SERVER['SCRIPT_URI'] | URI 用来指定要访问的页面。例如 "/index.html"。 |
PHP $_REQUEST
PHP $_REQUEST est utilisé pour collecter du HTML formulaires Données soumises.
L'exemple suivant montre un formulaire avec un champ de saisie et un bouton de soumission. Lorsqu'un utilisateur soumet des données de formulaire en cliquant sur le bouton « Soumettre », les données du formulaire sont envoyées au fichier de script spécifié dans l'attribut d'action de la balise <form>. Dans cet exemple, nous spécifions un fichier pour traiter les données du formulaire. Si vous souhaitez qu'un autre fichier PHP gère ces données, vous pouvez modifier le nom du fichier de script spécifié. Ensuite, nous pouvons utiliser la super variable globale $_REQUEST pour collecter les données du champ de saisie sous la forme :
Instance
<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>
PHP $_POST
PHP $_POST est largement utilisé pour collecter des données de formulaire. Spécifiez cet attribut dans la balise du formulaire HTML : "method="post".
L'exemple suivant montre un champ de saisie (input). ) et le bouton Soumettre (formulaire). Lorsque l'utilisateur soumet les données du formulaire en cliquant sur le bouton "Soumettre", les données du formulaire seront envoyées au fichier de script spécifié dans l'attribut d'action de la balise <form> nous spécifions un fichier pour traiter les données du formulaire. Si vous souhaitez que d'autres fichiers PHP traitent les données, vous pouvez modifier le nom du fichier de script spécifié. Ensuite, nous pouvons utiliser la variable super globale $_POST pour collecter les données du champ de saisie dans le formulaire. :
Exemple
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET est également largement utilisé pour collecter des données de formulaire en HTML Précisez cet attribut de la balise form : "method="get".
$_GET peut également collecter les données envoyées dans l'URL.
Supposons que nous ayons une page HTML avec lien hypertexte contenant des paramètres :
<html> <body> <a href="test_get.php?subject=PHP&web=runoob.com">Test $GET</a> </body> </html>
Lorsque l'utilisateur clique sur le lien "Test $GET", les paramètres "subject" et "web" seront envoyés à " test_get.php ",Vous pouvez utiliser la variable $_GET dans le fichier "test_get.php" pour obtenir ces données.
L'exemple suivant montre le code du fichier "test_get.php":
Exemple
<html> <body> <?php echo "Study " . $_GET['subject'] . " at " . $_GET['web']; ?> </body> </html>
Astuce : Si vous souhaitez en savoir plus sur $_POST et $_GET, Veuillez visiter notre section Formulaires PHP.