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 dans un script Disponible dans tous les scopes. Vous pouvez l'utiliser dans des fonctions et des classes sans instructions particulières.

Liste des super variables globales PHP :

• $GLOBALS stocke toutes les variables globales dans le script actuel, dont KEY est le nom de la variable et VALUE est la valeur de la variable

• $ _SERVER Tableau de variables du serveur Web actuel

• $_REQUEST stocke tous les tableaux de requêtes dans le formulaire de soumission, y compris tout ce qui se trouve dans $_GET, $_POST, $_COOKIE et $_SESSION

• $_POST stocke les données dans le formulaire soumis par la méthode POST

• $_GET stocke les données dans le formulaire soumis par la méthode GET

• $_FILES stocke les données soumises par le fichier téléchargé dans le script actuel

• $_ENV stocke les variables d'environnement Web actuelles

• $_COOKIE obtient ou définit le tableau de variables stocké dans les cookies du navigateur de l'utilisateur

• $_SESSION stocke le tableau de variables de session de le script actuel

Dans ce chapitre, nous expliquerons plusieurs variables super globales couramment utilisées, et nous présenterons les variables restantes dans les prochains chapitres.

PHP $GLOBALS

$GLOBALS est un groupe de variables super globales de PHP accessible dans toute la portée d'un script PHP.

$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; 
?>

Exécuter l'exemple»

Dans l'exemple ci-dessus, z est un tableau de $GLOBALS Super variable globale dans , cette variable est également accessible en dehors de la fonction.

PHP $_SERVER

$_SERVER est un fichier contenant des informations d'en-tête (en-tête), un chemin (chemin) et un emplacement de script (emplacements de script ) et d'autres informations. Les éléments de ce tableau sont créés par le serveur Web. Il n'y a aucune garantie que chaque serveur servira tous les éléments ; le serveur peut en ignorer certains ou servir des éléments non répertoriés ici.

Les exemples suivants montrent comment utiliser des éléments dans $_SERVER :

Instances

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

Exemples d'exécution»

Le tableau suivant répertorie les éléments importants dans toutes les variables $_SERVER :


Élément/code 🎜>

$_SERVER['PHP_SELF'] Le nom de fichier du script en cours d'exécution, lié à la racine du document. Par exemple, en utilisant $_SERVER['PHP_SELF'] dans un script sur http://example.com/test.php/foo.bar, vous obtiendrez / 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 4.3.0, si PHP s'exécute en mode ligne de commande, cette variable contiendra les noms de script. 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 :                                                                                                                              car 'SERVER_SOFTWARE'] Chaîne d'identification du serveur, 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", "PUT".

$_SERVER['REQUEST_TIME'] L'horodatage du début de la requête. Disponible depuis PHP 5.1.0. (ex : 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'] Si le script est accédé par le protocole HTTPS, il est défini comme une valeur non vide.

$_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é par 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 la valeur de cet hôte virtuel. (ex : quelqu'un@runoob.com)

$_SERVER['SERVER_PORT'] Le port utilisé par le serveur web. La valeur par défaut est "80". Si vous utilisez une connexion sécurisée SSL, cette valeur est le port HTTP défini par l'utilisateur.

$_SERVER['SERVER_SIGNATURE'] Une chaîne contenant la version du serveur et le nom d'hôte virtuel.

$_SERVER['PATH_TRANSLATED'] Le chemin de base du système de fichiers (pas le répertoire racine du document) où se trouve le script actuel. C'est le résultat une fois que le serveur a été imagé d'un chemin virtuel vers un chemin réel.

$_SERVER['SCRIPT_NAME'] Contient le chemin du script actuel. Ceci est utile lorsque la page doit pointer vers elle-même. La constante __FILE__ contient le chemin complet et le nom de fichier du script actuel (comme un fichier d'inclusion).

$_SERVER['SCRIPT_URI']                               L'URI est utilisé pour spécifier la page à laquelle accéder. Par exemple "/index.html".


PHP $_REQUEST

PHP $_REQUEST est utilisé pour collecter les données soumises par les formulaires HTML.

L'exemple suivant montre un formulaire avec des champs de saisie et des boutons 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>

Exécuter l'instance»

$_SERVER[' PHP_SELF '] est souvent utilisé lors du développement. Il est généralement utilisé pour référencer l'adresse de la page Web actuelle et il s'agit d'une variable globale générée automatiquement par le système.


PHP $_POST

PHP $_POST est largement utilisé pour collecter des données de formulaire dans un formulaire HTML Spécifiez cet attribut de la balise : "method="post".

L'exemple suivant montre un formulaire avec un champ de saisie (input) et un bouton de soumission (submit). Lorsque l'utilisateur soumet en cliquant sur le bouton "Soumettre" Lors de la formation des données du formulaire, les données du formulaire seront envoyées au fichier de script spécifié dans l'attribut d'action de la balise <form>. Dans cet exemple, nous spécifions le fichier pour gérer les données du formulaire. gérer les données, vous pouvez. Modifier le nom du fichier de script spécifié. Ensuite, nous pouvons utiliser la super variable globale $_POST 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 = $_POST['fname']; 
echo $name; 
?>
</body>
</html>

<. 🎜>Exécuter l'instance»


PHP $_GET

PHP $_GET est également largement utilisé pour collecter des données de formulaire. Spécifiez cet attribut dans la balise du formulaire HTML : "method="get".

$_GET peut également collecter des 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>
<. 🎜>Exemple d'exécution»


Conseil : si vous souhaitez en savoir plus sur $_POST et $_GET, veuillez visiter notre chapitre Formulaires PHP >.
Formation continue
||
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel