Variables globales PHP - Variables hyperglobales
- Page précédente Tri des tableaux PHP
- Page suivante Traitement de forme PHP
Les variables hyperglobales ont été introduites dans PHP 4.1.0 et sont des variables intégrées toujours disponibles dans tout le domaine.
Variables globales PHP - Variables hyperglobales
De nombreuses variables prédéfinies de PHP sont des variables hyperglobales, ce qui signifie qu'elles sont disponibles dans tout le domaine du script. Il n'est pas nécessaire d'exécuter global $variable; pour les accéder dans une fonction ou une méthode.
Ces variables hyperglobales sont :
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
Cette section présentera quelques variables hyperglobales et d'autres seront expliquées dans des chapitres ultérieurs.
$GLOBALS — Référence à toutes les variables disponibles dans le domaine global
L'hyperglobale $GLOBALS est utilisée pour accéder aux variables globales à tout moment dans le script PHP (à partir de fonctions ou de méthodes).
PHP stocke toutes les variables globales dans un tableau nommé $GLOBALS[index]. Le nom de la variable est la clé du tableau.
L'exemple suivant montre comment utiliser l'hyperglobale $GLOBALS :
Exemple
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
Dans l'exemple précédent, étant donné que z est une variable de l'array $GLOBALS, elle peut être accédée en dehors de la fonction.
PHP $_SERVER
L'hyperglobale $_SERVER conserve des informations sur les en-têtes, les chemins et la position du script.
L'exemple suivant montre comment utiliser certains é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 liste les éléments les plus importants que vous pouvez accéder dans $_SERVER :
Élément/Code | Description |
---|---|
$_SERVER['PHP_SELF'] | Retourne le nom du fichier où s'exécute le script actuel. |
$_SERVER['GATEWAY_INTERFACE'] | Retourne la version du规范 utilisée par le serveur CGI. |
$_SERVER['SERVER_ADDR'] | Retourne l'adresse IP du serveur où le script en cours d'exécution est exécuté. |
$_SERVER['SERVER_NAME'] | Retourne le nom d'hôte du serveur où le script en cours d'exécution est exécuté (par exemple www.codew3c.com). |
$_SERVER['SERVER_SOFTWARE'] | Retourne la chaîne d'identification du serveur (par exemple Apache/2.2.24). |
$_SERVER['SERVER_PROTOCOL'] | Retourne le nom et la version du protocole de communication utilisé pour accéder à la page (par exemple, "HTTP/1.0"). |
$_SERVER['REQUEST_METHOD'] | Retourne le nom de la méthode utilisée pour accéder à la page (par exemple POST). |
$_SERVER['REQUEST_TIME'] | Retourne le timestamp de la demande de début (par exemple 1577687494). |
$_SERVER['QUERY_STRING'] | Retourne la chaîne de requête, si l'accès à cette page se fait via une chaîne de requête. |
$_SERVER['HTTP_ACCEPT'] | Retourne les en-têtes de la requête venant de la requête actuelle. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Retourne l'en-tête Accept_Charset de la requête actuelle (par exemple utf-8, ISO-8859-1). |
$_SERVER['HTTP_HOST'] | Retourne l'en-tête Host de la requête actuelle. |
$_SERVER['HTTP_REFERER'] | Retourne l'URL complète de la page actuelle (non fiable, car tous les agents utilisateur ne le supportent pas). |
$_SERVER['HTTPS'] | Est-ce que l'interrogation du script se fait via le protocole HTTP sécurisé ? |
$_SERVER['REMOTE_ADDR'] | Retourne l'adresse IP de l'utilisateur qui consulte la page actuelle. |
$_SERVER['REMOTE_HOST'] | Retourne le nom d'hôte de l'utilisateur qui consulte la page actuelle. |
$_SERVER['REMOTE_PORT'] | Retourne le port utilisé par le client pour se connecter au serveur Web sur l'ordinateur de l'utilisateur. |
$_SERVER['SCRIPT_FILENAME'] | Retourne le chemin d'accès absolu au script en cours d'exécution. |
$_SERVER['SERVER_ADMIN'] | Cette valeur indique le paramètre SERVER_ADMIN de la configuration du fichier de serveur Apache. |
$_SERVER['SERVER_PORT'] | Le port utilisé par le serveur Web. La valeur par défaut est "80". |
$_SERVER['SERVER_SIGNATURE'] | Retourne la version du serveur et le nom de l'hôte virtuel. |
$_SERVER['PATH_TRANSLATED'] | Le chemin de base du système de fichiers où le script actuel se trouve (non le répertoire racine du document). |
$_SERVER['SCRIPT_NAME'] | Retourne le chemin d'accès du script actuel. |
$_SERVER['SCRIPT_URI'] | Retourne l'URI de la page actuelle. |
PHP $_REQUEST
PHP $_REQUEST est utilisé pour collecter les données du formulaire soumis HTML.
L'exemple suivant montre un formulaire contenant des champs d'entrée et un bouton de soumission. Lorsque l'utilisateur clique sur le bouton de soumission pour soumettre les données du formulaire, les données du formulaire sont envoyées au fichier spécifié dans l'attribut action de la balise <form>. Dans cet exemple, nous avons spécifié le fichier lui-même pour traiter les données du formulaire. Si vous avez besoin d'utiliser un autre fichier PHP pour traiter les données du formulaire, modifiez-le par le nom du fichier de votre choix. Ensuite, nous pouvons utiliser la variable universelle $_REQUEST pour collecter les valeurs des champs d'entrée :
Exemple
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nom : <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 les données du formulaire soumis avec method="post". $_POST est également souvent utilisé pour transmettre des variables.
L'exemple suivant montre un formulaire contenant des champs d'entrée et un bouton de soumission. Après que l'utilisateur clique sur le bouton de soumission pour soumettre les données, les données du formulaire sont envoyées au fichier spécifié dans l'attribut action du balise <form>. Dans cet exemple, nous avons spécifié le fichier lui-même pour traiter les données du formulaire. Si vous souhaitez utiliser une autre page PHP pour traiter les données du formulaire, changez le nom du fichier de votre choix. Ensuite, nous pouvons utiliser la variable universelle $_POST pour collecter les valeurs des champs d'entrée :
Exemple
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nom : <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET peut également être utilisé pour collecter les données du formulaire soumis (method="get").
$_GET peut également collecter les données envoyées dans l'URL.
Supposons qu'il y ait une page contenant un lien hypertexte avec des paramètres :
<html> <body> <a href="test_get.php?subject=PHP&web=codew3c.com">Test $GET</a> </body> </html>
Lorsque l'utilisateur clique sur le lien "Test $GET", les paramètres "subject" et "web" sont envoyés à "test_get.php", puis vous pouvez accéder à ces valeurs dans "test_get.php" via $_GET.
Le code suivant est celui de "test_get.php" :
Exemple
<html> <body> <?php echo "En apprenant dans " . $_GET['web'] . " sur " . $_GET['subject']; ?> </body> </html>
Astuce :Vous allez Formulaire PHP Vous apprendrez plus à ce sujet sur $_POST et $_GET dans cette section.
- Page précédente Tri des tableaux PHP
- Page suivante Traitement de forme PHP